A content display method, an electronic device, a chip system, and a storage medium

CN121387164BActive Publication Date: 2026-10-09HONOR DEVICE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410946963.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-12
Publication Date
2026-10-09
Estimated Expiration
2044-07-12

AI Technical Summary

Technical Problem

然而,在滑动操作对应的滑动过程中,经常出现应用窗口卡顿的情况

Benefits of technology

[0064] Fifthly, embodiments of this application provide a computer program product that, when run on a device, causes the electronic device to execute the method of any one of the first aspects of this application.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121387164B_ABST
    Figure CN121387164B_ABST
Patent Text Reader

Abstract

The application provides a content display method, an electronic device, a chip system and a storage medium, and relates to the technical field of electronic devices. In the case that the electronic device displays an application interface, a sliding operation starting from the bottom of the screen of a user can trigger the display of a dock bar and can also trigger the electronic device to display different forms of application windows. During the sliding process, if the left or right sliding distance is less than a threshold value, the position of the application window on the x-axis remains unchanged, which results in a difference distance between the position of the application window and the position of the finger on the x-axis. If the left or right sliding distance is greater than or equal to the threshold value, the sliding distance of the application window on the x-axis is slightly greater than the sliding distance of the finger on the x-axis each time, so that the difference distance between the application window and the finger gradually decreases until 0. The application can avoid the freezing caused by the sudden movement of the application window to the position of the finger when the left or right sliding distance is greater than or equal to the threshold value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of electronic device technology, and in particular to a content display method, electronic device, chip system, and storage medium. Background Technology

[0002] Electronic devices offer an increasing number of functions, providing users with more convenient and faster ways to use them. When an electronic device displays an application interface, users can trigger the device to display the currently displayed application window in different forms (e.g., split-screen, floating window) through certain swipe operations. However, during the swipe operation, the application window often experiences lag. Summary of the Invention

[0003] This application provides a content display method, electronic device, chip system, and storage medium that can reduce lag during application window movement.

[0004] To achieve the above objectives, the content display method provided in the first aspect of this application adopts the following technical solution:

[0005] During the display of the interface of the first application, a first swipe operation is detected. The first swipe operation includes a first swipe process and a second swipe process after the first swipe process. The swipe distance on the x-axis of the first swipe process is less than the second distance. The swipe distance on the x-axis of the first swipe operation is greater than the second distance (x-axis threshold). The second swipe process includes a first time period, a second time period, and a third time period.

[0006] During the first sliding process, the window of the first application moves along the y-axis as the touch point of the first sliding operation moves, while the position of the window of the first application on the x-axis remains unchanged.

[0007] During the second sliding process:

[0008] During the first time period, as the touch point of the first sliding operation moves, the position of the window of the first application on the x-axis remains unchanged;

[0009] During the second time period, the window of the first application moves along the x-axis as the touch point of the first sliding operation moves, and the distance the window of the first application moves along the x-axis is greater than the distance the touch point of the first sliding operation moves along the x-axis.

[0010] During the third time period, the window of the first application moves along the x-axis as the touch point of the first sliding operation moves, and the distance the window of the first application moves along the x-axis is equal to the distance the touch point of the first sliding operation moves along the x-axis.

[0011] When an electronic device displays an application interface, a user's swipe operation starting from the bottom of the screen can trigger the dock bar to appear and can also trigger different forms of application window display. During the swipe, if the distance of the left or right swipe is less than a threshold, the position of the application window on the x-axis remains unchanged, resulting in a difference in distance between the position of the application window and the position of the finger on the x-axis. If the distance of the left or right swipe is greater than or equal to the threshold, the swipe distance of the application window on the x-axis is slightly greater than the swipe distance of the user's finger on the x-axis each time, thus gradually reducing the difference in distance between the application window and the user's finger until it reaches 0. This avoids the lag caused by the application window suddenly moving to the finger position when the swipe distance is greater than or equal to the threshold.

[0012] As one implementation of the first aspect, the sliding distance of the first sliding process on the y-axis is greater than or equal to the first distance.

[0013] In the actual implementation, it can also be set so that after swiping up a certain distance, the application window moves in the manner described above, thereby avoiding application window lag.

[0014] As one implementation of the first aspect, the method further includes:

[0015] During the display of the interface of the first application, a second swipe operation is detected. The second swipe operation includes a third swipe process and a fourth swipe process after the third swipe process. The swipe distance of the third swipe process on the y-axis is less than the first distance (not dragged out of the dock area, can be executed as a lag situation), and the swipe distance of the third swipe process on the x-axis is less than the second distance (x-axis threshold). The swipe distance of the second swipe operation on the x-axis is greater than the second distance. The fourth swipe process includes a fourth time period and a fifth time period.

[0016] During the third sliding process, the window of the first application moves along the y-axis as the touch point of the second sliding operation moves, while the position of the window of the first application on the x-axis remains unchanged.

[0017] During the fourth sliding process:

[0018] During the fourth time period, as the touch point moves, the position of the window of the first application on the x-axis remains unchanged;

[0019] During the fifth time period, the window of the first application first moves to the position of the touch point of the second sliding operation; after the window of the first application moves to the position of the touch point of the second sliding operation, the shrunken window of the first application moves along the x-axis as the touch point of the first sliding operation moves, and the distance the window of the first application moves along the x-axis is equal to the distance the touch point of the second sliding operation moves along the x-axis.

[0020] In this application, when the upward swipe distance is small, it is usually more necessary to control the change of the taskbar at the bottom of the screen by the change of the y-axis. Therefore, when the upward swipe distance is small, an X-axis threshold can be set. When the application window swipes left or right a small distance, the position of the application window on the x-axis remains unchanged. When the application window swipes left or right a distance greater than or equal to the threshold, the application window first moves directly to the finger position and then follows the left or right hand.

[0021] As one implementation of the first aspect, the first sliding process is an upward swipe starting from the bottom area of ​​the screen, the second sliding process is a left or right swipe; the third sliding process is an upward swipe starting from the bottom area of ​​the screen, and the fourth sliding process is a left or right swipe.

[0022] As one implementation of the first aspect, during the first sliding process, the method further includes:

[0023] If the sliding distance of the first sliding operation's touch point on the y-axis is greater than the third distance (line B), the window of the first application is reduced, where the third distance is less than the first distance.

[0024] As one implementation of the first aspect, the first sliding operation includes a pressing operation, a moving operation, and a lifting operation; the pressing operation has a first coordinate; the moving operation has multiple second coordinates; and the lifting operation has a third coordinate.

[0025] As one implementation of the first aspect, the method further includes:

[0026] The sliding distance on the y-axis and the sliding distance on the x-axis of the first sliding operation are determined based on the second coordinate and the first coordinate;

[0027] If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is less than the second distance, then as the touch point of the first sliding operation moves, the position of the window of the first application on the x-axis remains unchanged.

[0028] If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are different on the x-axis, then the window of the first application moves on the x-axis as the touch point of the first sliding operation moves, and the moving distance of the window of the first application on the x-axis is greater than the moving distance of the touch point of the first sliding operation on the x-axis, until the position of the window of the first application and the position of the touch point of the first sliding operation are the same on the x-axis;

[0029] If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are the same on the x-axis, then the window of the first application moves on the x-axis as the touch point of the first sliding operation moves, and the moving distance of the window of the first application on the x-axis is equal to the moving distance of the touch point of the first sliding operation on the x-axis.

[0030] As one implementation of the first aspect, if the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are different on the x-axis, then the window of the first application moves along the x-axis as the touch point of the first sliding operation moves, and the moving distance of the window of the first application on the x-axis is greater than the moving distance of the touch point of the first sliding operation on the x-axis, until the position of the window of the first application and the position of the touch point of the first sliding operation are the same on the x-axis, including:

[0031] If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are different on the x-axis, then calculate the difference between the moving distance of the touch point of the first sliding operation on the x-axis and the second distance.

[0032] The distance the window of the first application moves along the x-axis this time is obtained by summing the difference and the compensation step size (1 pixel).

[0033] Based on the distance the window of the first application moves along the x-axis, move the position of the window of the first application along the x-axis.

[0034] In this application, when the sliding distance of the application window in the x-axis direction is less than the x-axis threshold, the application window moves in real-time along the y-axis based on the sliding distance along the y-axis, while the application window's position on the x-axis remains unchanged. When the sliding distance of the application window in the x-axis direction is greater than or equal to the x-axis threshold, the application window can be moved in the x-axis direction in the manner of "sliding distance minus x-axis threshold plus one pixel" each time its position is updated. Assuming the x-axis threshold is the length corresponding to m pixels, after m updates to the application window's position, the application window can achieve real-time tracking along the x-axis. In this way, the application window does not change abruptly; instead, the offset of each movement is one pixel more than the offset of the user's finger touch. From the user's perspective, the application window gradually changes from position 1 to position 6.

[0035] As one implementation of the first aspect, the method further includes:

[0036] During the display of the first application's interface, a third swipe operation was detected;

[0037] In response to the third swipe operation, a taskbar is displayed, in which an application icon of at least one application is displayed;

[0038] During the display of the taskbar, a fourth swipe operation was detected, which was applied to the application icon of the second application in the taskbar.

[0039] During the sliding process corresponding to the fourth sliding operation: the floating icon and mask of the second application are displayed at the touch point of the fourth sliding operation. The floating icon of the second application is displayed on the upper layer of the taskbar, and the mask is displayed on the lower layer of the taskbar. The positional relationship between the floating icon of the second application and the mask remains unchanged. The area where the mask is located is larger than and includes the area where the floating icon of the second application is located.

[0040] This application proposes a more user-friendly approach by placing the app icon above the taskbar (obscuring the taskbar) and the mask below the taskbar (not obscuring the taskbar) when dragging the app icon from the taskbar.

[0041] As one implementation of the first aspect, the floating icon of the second application and the mask are located on different layers. The mask is used to indicate the display form of the second application corresponding to the floating icon after the fourth swipe operation ends. The display form includes: floating display, split-screen display, and full-screen mode. The display form is related to the swipe process of the fourth swipe operation.

[0042] As one implementation of the first aspect, the floating coordinates of the first application are the same size as the application icon of the first application. The fourth swipe operation includes: a press event, a move event, and a lift event. The press event has a fourth coordinate, and the move event has a fifth coordinate. The fourth coordinate is the coordinate of the touch point position relative to the first corner of the application icon of the first application. The fifth coordinate is the coordinate of the touch point position relative to the first corner of the floating icon of the first application. The center point of the floating icon and the center point of the mask are the same. The first corner is the upper left corner, the lower left corner, the upper right corner, or the lower right corner.

[0043] During the sliding process corresponding to the fourth sliding operation, the method further includes:

[0044] Based on the fourth coordinates and the length and width of the application icon of the first application, calculate the first offset of the touch point of the fourth swipe operation relative to the center of the icon;

[0045] Calculate the coordinates of the first corner of the mask based on the fifth coordinate, the first offset, and the length and width of the mask;

[0046] Based on the fifth coordinate, the first offset, and the length and width of the application icon of the first application, calculate the coordinates of the first corner of the floating icon;

[0047] Based on the coordinates of the first corner of the mask and the first corner of the floating icon, move the floating icon and the mask of the second application.

[0048] This application first calculates the positional relationship between the touch point and the center point of the application icon. Then, when calculating the mask position and icon position, it refers to this positional relationship, ensuring that from the user's visual perspective, the positional relationship between the icon and the hand remains unchanged, conforming to real-world behavior and providing a better user experience. Of course, the mask center and the icon center can be set to be the same.

[0049] As one implementation of the first aspect, the fifth coordinate includes a sixth coordinate, a seventh coordinate, and an eighth coordinate. During the sliding process corresponding to the fourth sliding operation, the method further includes:

[0050] After the Input detects a press event, it sends the press event to the SystemServer, and the press event carries the fourth coordinate.

[0051] SystemServer sends the received press event to SystemUI;

[0052] After receiving the press event, SystemUI begins initialization;

[0053] After the Input detects the first movement event, it determines that the SystemUI initialization is not complete and sends the first movement event to the SystemServer. The first movement event carries the sixth coordinate.

[0054] SystemServer moves the floating icon according to the sixth coordinate in the received movement event;

[0055] After the Input detects the second movement event, it determines that the SystemUI initialization is complete. If the SystemUI initialization is complete, it sends the second movement event to the SystemServer and SystemUI. The second movement event carries the seventh coordinate.

[0056] SystemUI sends a stop command to SystemServer, which instructs SystemServer to stop responding to received movement events.

[0057] SystemServer does not respond to the second move event;

[0058] If SystemUI determines that the mask has not been fully created, before the mask is fully created, the floating icon is moved by the first module in SystemUI according to the seventh coordinate in the received second movement event.

[0059] After the Input detects the third movement event, it sends the third movement event to the SystemServer and SystemUI, and the third movement event carries the eighth coordinate;

[0060] SystemUI determines that the mask has been created. After the mask is created, the second module in SystemUI calculates the position of the mask and the position of the floating icon based on the eighth coordinate. Then, the first module in SystemUI moves the mask and the floating icon.

[0061] In a second aspect, an electronic device is provided, including a processor for calling a computer program stored in a memory to implement the method of any one of the first aspects of this application.

[0062] Thirdly, a chip system is provided, including a processor coupled to a memory, wherein the processor executes a computer program stored in the memory to cause an electronic device to implement the method of any one of the first aspects of this application.

[0063] Fourthly, a computer-readable storage medium is provided, which stores a computer program that, when computer instructions are executed on an electronic device, causes the electronic device to implement the method of any one of the first aspects of this application.

[0064] Fifthly, embodiments of this application provide a computer program product that, when run on a device, causes the electronic device to execute the method of any one of the first aspects of this application.

[0065] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description

[0066] Figure 1 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application;

[0067] Figure 2 A schematic diagram of an interface for accessing the system desktop within an application, provided as an embodiment of this application;

[0068] Figure 3 A schematic diagram of the interface corresponding to multiple functions of the dock bar provided in the embodiments of this application;

[0069] Figure 4 A schematic diagram of an interface for entering a multitasking management interface within an application, provided as an embodiment of this application;

[0070] Figure 5 A software architecture diagram of the content display method provided in the embodiments of this application;

[0071] Figure 6 A timing diagram for in-application access to the system desktop is provided in an embodiment of this application;

[0072] Figure 7 An embodiment provided in this application Figure 6 A schematic diagram of the various distances in the diagram;

[0073] Figure 8 A timing diagram for entering a multitasking management interface within an application, provided as an embodiment of this application;

[0074] Figure 9 A schematic diagram of multiple flag bits provided in the embodiments of this application;

[0075] Figure 10 This application provides a timing diagram of the DOWM event during the process of entering the multitasking management interface.

[0076] Figure 11 A timing diagram showing the display of the dock bar corresponding to the move event during the process of entering the multi-task management interface, as provided in the embodiments of this application;

[0077] Figure 12A timing diagram showing the responsiveness of the dock bar corresponding to the dock event during the process of entering the multitasking management interface, as provided in the embodiments of this application.

[0078] Figure 13 The timing diagram for canceling the bounce animation and hiding the dock bar during the process of entering the multi-task management interface provided in the embodiments of this application;

[0079] Figure 14 The animation of the window hiding the dock bar and the timing diagram of the dock bar reset during the process of entering the multi-task management interface provided in the embodiments of this application;

[0080] Figure 15 A schematic diagram illustrating how the application window changes according to the swiping operation during the process of bringing up the dock, as provided in an embodiment of this application.

[0081] Figure 16 A schematic diagram illustrating the position change of the application window during left or right swipes provided in this embodiment of the application.

[0082] Figure 17 This is a schematic diagram illustrating the process of the application window's position change on the x-axis, as provided in an embodiment of this application.

[0083] Figure 18 A timing diagram showing the position change of the application window on the x-axis for embodiments of this application;

[0084] Figure 19 A schematic diagram of an interface for dragging application icons from the dock, provided for an embodiment of this application;

[0085] Figure 20 Two schematic diagrams illustrating two different interfaces when dragging an application icon from the dock, provided for embodiments of this application;

[0086] Figure 21 A flowchart illustrating the icon and mask change process provided in the embodiments of this application;

[0087] Figure 22 The various classes or functions in SystemUI provided in the embodiments of this application;

[0088] Figure 23 This is a timing diagram showing the changes in the position of the icon and mask as the user drags them, provided for an embodiment of this application. Detailed Implementation

[0089] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limiting purposes, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details.

[0090] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0091] It should also be understood that in the embodiments of this application, "one or more" refers to one, two, or more; "and / or" describes the relationship between the associated objects, indicating that three relationships can exist; for example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following associated objects have an "or" relationship.

[0092] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," "fourth," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0093] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0094] This application provides a content display method that can be applied to electronic devices. These electronic devices can be tablets, mobile phones, wearable devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), etc. This application does not limit the specific type of electronic device.

[0095] Figure 1A schematic diagram of an electronic device is shown. The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, antenna 1, antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0096] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0097] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0098] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0099] Internal memory 121 can be used to store computer executable program code, including instructions. Processor 110 executes various functional applications and data processing of electronic device 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program required for a function (such as image playback). Touch sensor 180K, also called a "touch panel," can be disposed on display screen 194. Touch sensor 180K and display screen 194 together form a touch screen, also called a "touch screen." Touch sensor 180K is used to detect touch operations applied to or near it. Touch sensor can transmit the detected touch operation to application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K may also be disposed on the surface of electronic device 100, in a different location than display screen 194.

[0100] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0101] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a minimized display, a microLED, a micro-OLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or N displays 194, where N is a positive integer greater than 1.

[0102] This application does not specifically limit the structure of the execution subject of a content display method. As long as the code recording a content display method according to this application is executed, communication can be performed according to the content display method provided in this application. For example, the execution subject of a content display method provided in this application can be a functional module in an electronic device capable of calling and executing a program, or a communication device applied in an electronic device, such as a chip.

[0103] Electronic devices offer an increasing number of functions that provide users with more convenient and faster ways to use them.

[0104] For example, some mobile phones offer a sidebar that can display multiple app icons, allowing users to perform corresponding functions by interacting with these app icons.

[0105] Some tablets offer a bottom dock, also known as a taskbar. The bottom dock can display multiple app icons, and users can perform corresponding functions by interacting with these app icons.

[0106] Reference Figure 2 This is a schematic diagram of an interface for triggering the display of the bottom dock bar, provided in an embodiment of this application.

[0107] Reference Figure 2 In (a), the electronic device displays any application interface, and the user swipes their finger up from the bottom of the screen.

[0108] Reference Figure 2In (b), when the user's finger slides a distance greater than distance D, the dock bar begins to appear at the bottom of the screen. At this time, a portion of the dock bar is displayed at the bottom of the screen, and the dock bar moves upward as the user's finger moves. During the movement, the position of the upper edge of the dock bar is consistent with the position of the user's finger's touch point in the vertical direction, that is, the dock bar follows the user's hand.

[0109] Reference Figure 2 In (c), when the user's finger swipes a distance greater than distance C, the dock bar is fully displayed at the bottom of the screen.

[0110] Reference Figure 2 In (d), when the user's finger slides a distance greater than distance B, the application window displayed on the screen begins to shrink, and at the same time, the application window moves as the user's finger moves upward, that is, the application window follows the hand.

[0111] Reference Figure 2 In examples (e) and (f), when the user releases their finger at a speed exceeding a certain threshold, the electronic device displays the system desktop. Additionally, in this example, the user's finger slides a distance greater than distance A.

[0112] Reference Figure 2 In (e) and (f), the position of the dock moves down as the user releases their hand, which is the dock's bounce animation (or bounce effect).

[0113] In electronic device display Figure 2 In case (f), users can perform some actions on the application icons in the dock to trigger the corresponding functions.

[0114] Reference Figure 3 This is a schematic diagram of some of the functions provided by the dock.

[0115] Reference Figure 3 In (a) and (b), the electronic device displays a dock bar within the application. When the user clicks on the icon of any application in the dock bar (e.g., the printer application), the electronic device launches the application and displays its interface. In other words, the dock bar can enable the function of quickly launching applications.

[0116] Reference Figure 3 In (c) and (d), the electronic device displays a dock bar within the application, and the user drags the application icon of any application in the dock bar (e.g., the printer application) to the left side of the screen, and the application is displayed in split screen on the left side of the screen.

[0117] Reference Figure 3In (e) and (f), the electronic device displays a dock bar within the application. When the user drags the application icon of any application in the dock bar (e.g., the printer application) to the right side of the screen, the electronic device displays a floating window of that application.

[0118] The drag position and display method of the application described above are for illustrative purposes only. In actual applications, they can be set according to specific circumstances.

[0119] In this embodiment, the functionality of the dock is only for illustrative purposes. In practical applications, the dock may provide more or fewer functions than those described above. This embodiment does not limit the specific functions of the dock.

[0120] In practical applications, when an electronic device displays an application interface, users can swipe up from the bottom of the screen to access the multitasking management interface (hereinafter referred to as multitasking). Multitasking displays application cards and a trash can for background applications. Users can perform various operations on the application cards to achieve corresponding functions. For example, an application card can be dragged into the trash can to delete the application running in the background; or an application card can be clicked to quickly launch and display the application.

[0121] After entering multitasking mode, both the trash can and the dock can be displayed. Normally, both the dock and the trash can are located at the bottom of the screen, which can cause a positional conflict. To avoid this conflict, this application provides a process for entering multitasking mode.

[0122] Reference Figure 4 This is a schematic diagram of the interface for entering multitasking provided in an embodiment of this application.

[0123] Reference Figure 4 (a) and Figure 4 In (b), the electronic device displays any application interface. The user's finger slides upwards from the bottom of the screen. When the sliding distance of the user's finger is greater than distance D, the dock bar begins to appear at the bottom of the screen. At this time, a portion of the dock bar is displayed at the bottom of the screen, and the dock bar moves upwards as the user's finger moves. During the movement, the position of the upper edge of the dock bar is aligned vertically with the position of the user's finger's touch point.

[0124] Reference Figure 4 In cases (c) and (d), when the user releases their finger after sliding a distance greater than distance A and at a speed less than or equal to a certain speed, the electronic device displays multitasking. The dock bar also exhibits a bounce animation when multitasking is displayed, which is understandable. Figure 4 Compared to the dock in (d) Figure 4The dock in (c) is positioned further down.

[0125] Reference Figure 4 In section (e), since the system desktop can already trigger the display of the dock on electronic devices, and multitasking is more related to background applications, from the perspective of actual user application, multitasking tends to set up a trash can. Therefore, this embodiment of the application sets up a hidden dock, that is, a hiding animation for the dock.

[0126] Reference Figure 4 The (f) option, when the dock is hidden, displays the trash can at the bottom of the screen.

[0127] In the above example, in Figure 4 (b) and Figure 4 Between (c) there is also Figure 2 (c) and Figure 2 (d) in the middle. Figure 4 Not shown.

[0128] It should be noted that after entering multitasking mode, application cards for multiple applications can be displayed in one horizontal row or in two horizontal rows. This embodiment of the application does not limit the display method of application cards for applications running in the background during multitasking.

[0129] During the process of entering multitasking, the animations performed include: animations of the multitasking application cards, the bounce animation of the dock, and the hiding animation of the dock. Under high load, stuttering or lag is more likely to occur.

[0130] To address this issue, this application provides a content display method that, when entering multitasking mode, cancels the dock bar's bounce animation to reduce load and changes the dock bar view's hide animation to the window's hide animation, thereby reducing lag.

[0131] The above example uses a tablet computer as an example. In practical applications, the dock bar can also be applied to other electronic devices, such as foldable screen phones.

[0132] The content display method provided in the embodiments of this application is described in detail below.

[0133] Reference Figure 5 This is a technical architecture diagram of the content display method provided in the embodiments of this application.

[0134] The application layer includes: launcher.

[0135] The launcher includes a gesture navigation module, which contains several sub-modules, such as Taskbar window management (for managing Taskbar windows), Taskbar state management (for managing Taskbar state), application interface call-up (for calling up the application interface), multi-task switching animation, multi-task display, Taskbar click to launch application (for launching application animation from the taskbar), and Taskbar application forming multiple windows, etc.

[0136] The launcher also includes a global dock module, which contains several sub-modules: All Apps (used to display all apps in the dock), Taskbar (the dock itself), long press to take a screenshot, click to launch an app (used to launch apps from the taskbar with an animation), drag to split screen (used to drag apps from the taskbar to display them in a split screen), three-button navigation, etc.

[0137] The "All Apps" option displays all apps in the dock and also manages apps whose icons can be displayed in the Taskbar. The Taskbar manages the windows in the dock. "Long-press screenshot" takes a screenshot after a long-press action. "Tap to launch app" launches the app pointed to by the app icon in the Taskbar after a tap action. "Drag to split screen" splits the app pointed to by the app icon in the Taskbar into two screens after a drag action.

[0138] The Launcher also includes other modules, such as those related to interaction: global gestures, multitasking & application launch, card-based functions, etc.; those related to desktop layout: standard mode, drawer mode, simple mode, split-screen mode, super power-saving mode, global search & negative one screen, etc.; those related to features: layout & styles, home interface icon management, widget management, folders, edit mode, etc.; and those related to basic capabilities: data management, internationalization, customization, motion effects engine, device adaptation, and DFX. The embodiments in this application will not describe the functions of these modules in detail.

[0139] The application framework layer includes the input & output event subsystem (input), the window subsystem (window manager service, WMS), and the display subsystem.

[0140] The native layer (native framework layer) includes InputDispatcher and SurfaceFlinger.

[0141] The driver layer includes the touch panel (TP) and the display.

[0142] The TP (Touch Panel) can detect user gestures on the touchscreen and report the coordinates of the gestures to the input dispatcher. The input dispatcher generates an input event based on the received coordinates and reports the event to the input device. The input device needs to distribute this input event to various applications; therefore, the input event needs to be sent to the WMS (Web Management System). The WMS determines the currently foreground application and then distributes the input event to that application via the input device, for example, to the Launcher. The Launcher can then respond accordingly to the input event.

[0143] When refreshing the screen display content, the application layer sends the display content to the display subsystem, which then sends the refreshed content to SurfaceFlinger. SurfaceFlinger then synthesizes an image based on the display content and sends it to the display, which controls the screen to display the corresponding image.

[0144] Reference Figure 6 This is a timing diagram of entering the system desktop provided in an embodiment of this application.

[0145] S101, input receives a touch operation from the bottom of the screen.

[0146] In this embodiment of the application, when the electronic device displays any application interface, the user can trigger the entry into the system desktop containing the dock bar by swiping up from the bottom of the screen, or trigger the entry into multitasking by swiping up from the bottom of the screen.

[0147] Swiping up from the bottom of the screen includes three events: down, move, and up. For example, a down event is generated when the user's finger touches the bottom of the screen, a move event is generated when the user swipes up from the bottom of the screen, and an up event is generated when the user lifts their finger (or releases their finger) after swiping up.

[0148] S102, after receiving a touch operation at the bottom of the screen, the input sends a down event to the Launcher, which carries the coordinate 0.

[0149] In this embodiment of the application, the coordinate 0 corresponding to the down event is the coordinate of the touch point position during the user's touch operation.

[0150] S103, after receiving the down event, the Launcher determines that the position of the down event is in the preset area at the bottom of the screen based on the coordinate 0 carried by the down event, and records the coordinate 0 of the down event.

[0151] In this embodiment of the application, the Launcher can determine whether the down event is an operation that starts from the bottom of the screen by using the coordinate 0 of the down event.

[0152] In practical implementation, a vertical range (the horizontal range is not limited) starting from the bottom of the screen can be set as a preset area. If coordinate 0 is within this preset area, it means that the down event is located in the preset area at the bottom of the screen.

[0153] During the user's subsequent swipe-up operation, the swipe distance of the finger needs to be determined by coordinate 0. Therefore, coordinate 0 also needs to be recorded.

[0154] S104, the input receives a swipe-up operation from the bottom of the screen.

[0155] In this embodiment, as the user swipes up, the position of the user's finger on the screen changes.

[0156] S105, after receiving a swipe-up action from the bottom of the screen, the input sends a move event to the Launcher, carrying coordinates 11.

[0157] In this embodiment, as the user's finger slides across the screen, the TouchPanel can detect the touch point position at a certain frequency and then report the touch point position at that frequency. Therefore, in practical applications, before the user lifts their hand off the screen, the step of sending move events will be executed at a certain frequency, only the coordinates of each move event are different.

[0158] In this context, coordinate 1 can represent the coordinate carried by the move event, indicating the position of the touch point during the swipe. The Input may send coordinates to the Launcher at a certain frequency, for example, sending coordinate 11 at time 1, coordinate 12 at time 2, coordinate 13 at time 3, and so on. That is, one swipe-up operation starting from the screen corresponds to: coordinate 0 for a down event, multiple coordinates 1 for multiple move events, and of course, coordinate 2 for an up event.

[0159] Multiple coordinates 1 can be used to represent coordinates 1 with multiple different values.

[0160] S106. After receiving the move event, the Launcher calculates the moving distance of the swipe operation based on the coordinate 11 carried by the move event: that is, the difference between coordinate 11 and coordinate 0 in the vertical direction.

[0161] In this embodiment of the application, each time a move event is received, the difference in the vertical direction between the coordinate 1i carried by the move event and the coordinate 0 in the down event is calculated, thereby determining the vertical sliding distance of the user's finger.

[0162] S107, when the moving distance is greater than distance D, the Launcher displays the dock bar, and the top edge of the dock bar moves with the coordinates in the move event.

[0163] In this embodiment, the top edge of the dock follows the hand movement by changing the vertical coordinate of the touch point position during the move event. For details, please refer to... Figure 2 (b) in the middle.

[0164] Of course, the above example of the top edge of the dock following hand movement is just one example. In actual applications, other hand-following methods can also be set.

[0165] S108, after the input detects the touch position again at a certain frequency, it sends a move event to the Launcher, carrying coordinates 12.

[0166] S109, after receiving the move event, the Launcher calculates the moving distance of the swipe operation based on the coordinate 12 carried by the move event: that is, the difference between coordinate 12 and coordinate 0 in the vertical direction.

[0167] S110, when the moving distance is greater than distance C, the Launcher fully displays the dock.

[0168] For details, please refer to Figure 2 As shown in (c) in the figure.

[0169] S111, after the input detects the touch point position again at a certain frequency, it sends a move event to the Launcher, carrying coordinates 13.

[0170] S112, after receiving the move event, the Launcher calculates the moving distance of the swipe operation based on the coordinate 13 carried by the move event: that is, the difference between coordinate 13 and coordinate 0 in the vertical direction.

[0171] S113, when the moving distance is greater than distance B, the Launcher displays an application window shrinking animation: the application window moves and shrinks with the hand.

[0172] In this embodiment, when the moving distance is greater than distance B, the application window displaying the application interface can move with the user's hand, and the application window shrinks simultaneously. See details in [reference needed]. Figure 2 As shown in (b) of the diagram.

[0173] S114, input receives a hand-raise operation.

[0174] S115, after receiving the hand-raise operation, the input sends an up event to the Launcher, carrying coordinates 2.

[0175] S116, after receiving the up event, the Launcher calculates the distance moved by the swipe operation: that is, the difference between coordinates 2 and 0 in the vertical direction.

[0176] S117, when the movement distance is greater than distance C, the Launcher sets a bounce animation for the dock bar.

[0177] In this embodiment, it is first determined whether the movement distance is greater than C. If it is greater than C, the bounce animation of the dock is set. Then, it is further determined which state to enter (e.g., system desktop or multitasking).

[0178] S118, Launcher calculates movement speed: the ratio of the distance to the time of the two most recently received coordinates. If the movement speed is greater than a preset value, Launcher displays the system desktop. In this embodiment, the movement speed can be calculated based on the two most recently determined coordinates, or it can be calculated based on the n most recently determined coordinates.

[0179] In practical applications, each move and up event carries a timestamp, which is the moment when the corresponding touch point was captured. Therefore, the movement distance can be determined based on the coordinates, the time can be determined based on the timestamp, and the movement speed can be obtained from the movement distance and time.

[0180] S119, after the Launcher enters the system desktop, it continues to execute the dock bar bounce animation.

[0181] The image after the dock bar bounce effect is applied can be referenced. Figure 2 As shown in (f) in the figure.

[0182] It's understandable that the dock has a bounce animation when entering the system desktop.

[0183] The above embodiments involve distances D, C, B, and A. In practical applications, the corresponding positions can also be used as references.

[0184] Reference Figure 7 The lines defined in this application embodiment are: the D-line corresponding to distance D, the C-line corresponding to distance C, the B-line corresponding to distance B, and the A-line corresponding to distance A.

[0185] In this embodiment of the application, if the touch point position of the down event is taken as the lowest point of the screen, then the line corresponding to distance D is line D, the line corresponding to distance C is line C, the line corresponding to distance B is line B, and the line corresponding to distance A is line A.

[0186] In specific implementation, distances A, B, C, and D can be used as the determination conditions in the above embodiments, such as S107, S110, and S113 in the above steps.

[0187] Of course, the vertical coordinates corresponding to lines A, B, C, and D can also be used as the determination conditions in the above embodiments. For example, in step S107, the relationship between the vertical coordinate of coordinate 11 and the vertical coordinate of line D is determined; in step S110, the relationship between the vertical coordinate of coordinate 12 and the vertical coordinate of line C is determined, and so on.

[0188] As an example of the vertical coordinates of the lines, line D could be 40 pixels upwards from the bottom of the screen, line C could be 88 pixels upwards from the bottom of the screen, line B could be 120 pixels upwards from the bottom of the screen, line A could be 156 pixels upwards from the bottom of the screen, and so on. Of course, these numbers are just examples to illustrate that pixels can be used as the vertical coordinates of the lines.

[0189] Reference Figure 8 This provides a timing diagram for entering multiple tasks in the implementation of this application.

[0190] The steps S101 to S117 can be referred to Figure 7 As shown, it will not be repeated here. Following S117, it also includes:

[0191] S201, If ​​the moving speed is less than the preset value, calculate the moving distance.

[0192] S202, when the moving distance is greater than distance A, the Launcher displays multiple tasks.

[0193] S203, Launcher disables the bounce animation of the dock bar.

[0194] In this embodiment, since the dock's bounce animation has already been set, canceling the dock's bounce animation in this step can prevent it from starting at the beginning. This reduces the load by not continuing to execute the dock's bounce animation. The time between steps S117 and S203 is usually short, and from a user experience perspective, it is considered that no dock bounce animation is displayed.

[0195] S204, Launcher executes the hide animation of the dock.

[0196] In this embodiment, the dock can be hidden by the window hiding animation of the dock, and the loading of the window hiding animation of the dock is smaller than that of the view hiding animation of the dock.

[0197] S205, the Launcher displays a trash can icon.

[0198] In all the above embodiments, the process of releasing the hand when the sliding distance is greater than distance A is the same as the process of displaying the system desktop or displaying multitasking.

[0199] In practical applications, when the user releases their finger after moving a distance greater than distance C but less than distance A, the dock bar's bounce animation is displayed, and the dock bar is shown. Further examples are not provided here.

[0200] To determine whether to enter the desktop or enter multitasking mode, relevant flags are needed to mark each state.

[0201] Reference Figure 9 These are multiple markers provided in the embodiments of this application.

[0202] The `mLauncherStatus` flag is set in `TaskbarLauncherStatusController` to monitor the launcher's status. A value of `Normal` indicates the launcher is either within the application or on the system desktop; when within the application, the screen typically displays the application's interface. A value of `Overview` indicates the launcher is in multitasking mode.

[0203] In practical applications, this flag can be used to determine whether to display the dock.

[0204] As an example, when entering multitasking from the system desktop or within an application, mlauncherStatus changes from Normal to Overview.

[0205] When entering the system desktop or application from multitasking, mlauncherStartus changes from Overview to Normal.

[0206] In practical applications, when you release your finger, you can listen to the value of mAuncherStartus. If the value of mAuncherStartus switches to Overview, it means that you are currently in multitasking. You can then cancel the dock's bounce animation and execute the dock's hide animation.

[0207] However, this approach may have the following problems:

[0208] The process upon releasing the button is lengthy. Only after this process is complete will the value of `mLauncherStatus` be changed to `Overview`. And only after the value is changed to `Overview` will the dock's bounce animation be canceled and the dock's hide animation begin. This could result in the dock's bounce animation completing before the cancel bounce animation has even started.

[0209] The embodiments of this application can also use other flag bits to cancel the dock's bounce animation and execute the dock's hide animation.

[0210] The TaskbarStashController has a flag set to mlsStashed, which is used to listen to the display status of the Taskbar, i.e. whether the Taskbar is displayed.

[0211] The value of this flag is determined by two other status bits: in_APP and Stasher_in_app_auto. in_APP indicates whether the app is currently active, while Stasher_in_app_auto indicates whether the dock is hidden or shown.

[0212] A value of 1 for `in_app` indicates that the dock is within the application, while a value of 0 indicates that it is not within the application. The presence of `Stasher_in_app_auto` or a value of 1 for `Stasher_in_app_auto` indicates that the dock is currently displayed, while a value of 0 for `Stasher_in_app_auto` or the absence of this flag indicates that the dock is currently hidden.

[0213] You can set: mIsStashed = in_app & stashed_in_app_auto.

[0214] When `in_app` is 1 and `stashed_in_app_auto` is 1 (or this flag exists), `mlsStashed` being 1 indicates that the app is currently active and the dock is currently visible. A hiding animation can then be executed.

[0215] When `in_app` is 0, or `stashed_in_app_auto` is 0 (or this flag does not exist), `mlsStashed` is 0, indicating that the app is not currently in use or the dock is currently hidden. No hiding animation is needed.

[0216] In this embodiment, the dock is displayed by swiping up while the application interface is shown.

[0217] During the swipe-up process, as the dock appears, the first thing to do is to change the value of Stasher_in_app_auto to 1, indicating that the dock is now in a displayed state.

[0218] Then, when you release your finger, check if you are currently in the application and if the dock is currently in the display state.

[0219] If the app is currently in use (in_app is 1) and the dock is currently visible (stashed_in_app_auto is 1), then the dock can be hidden (mIsStashed is 1). In other words, the dock can be hidden based on mIsStashed being 1.

[0220] Of course, after hiding the dock, you can disable Stasher_in_app_auto or set the Stasher_in_app_auto value to 0.

[0221] For details, please refer to the steps corresponding to S618 and S619 in the subsequent embodiments. In this way, the effect of quickly hiding the dock bar when releasing the hand can also be achieved.

[0222] Additionally, the `appliedStatus` flag is set in `TaskbarAutohideSuspendController` to indicate the persistent state of the Taskbar. If this flag exists:

[0223] Autohide_suspend_transient_Taskbar means that the dock bar is currently automatically hidden.

[0224] Autohide_suspend_in_launcher indicates that the dock is on the system desktop or in multitasking.

[0225] Autohide_suspend_touching indicates that the dock is suspending touch.

[0226] Furthermore, in specific applications, the states entered in S201 and S202 of the above embodiments can be determined based on the moving distance, moving speed, etc. Therefore, other state bits also exist in this application embodiment, and the values ​​of the state bits include:

[0227] LAST_TASK: Return to the previous application window.

[0228] HOME: Enter the system desktop.

[0229] NEW_TASK: Entering a new task.

[0230] RECENTS (or recent): Enter multitasking.

[0231] Accordingly, after step S202, the value of the status bit is determined to be RECENTS. Subsequently, the bounce effect of quickly canceling the dock can be triggered based on the change in this status, as detailed in step S610 of a later embodiment.

[0232] To make the above process clearer, the following will illustrate... Figures 10 to 13 This application provides a detailed description of the timing diagram inside the Launcher when entering multitasking, as provided in the embodiments of this application.

[0233] It should be noted that the scenario in this application embodiment is triggered by the user swiping up from the bottom of the screen when the electronic device displays the interface of any application.

[0234] Reference Figure 10 As shown, the down event during the swipe-up operation triggers the electronic device to perform the following:

[0235] S301, TouchInteractionService received a down event.

[0236] In this embodiment of the application, TouchInteractionService is a gesture service in Launcher that can receive down events sent by input.

[0237] S302, TouchInteractionService determines the preset area at the bottom of the screen where the touch point is located based on the coordinates carried by the down event.

[0238] S303, TouchInteractionService creates TaskbarUnstashInputConsumer if it determines that the touch point is in a preset area at the bottom of the screen.

[0239] S304, After TaskbarUnstashInputConsumer is successfully created, it continues to create TaskbarActivityContext.

[0240] S305, TaskbarActivityContext sends a release callback function registration request to AbsSwipeUpHandler.

[0241] S306, AbsSwipeUpHandler registers a release callback function. This embodiment of the application registers a release callback function through S304 to S306, so that when the user releases their finger to enter multitasking, the status bit is obtained through this release callback function, and the function is used to quickly cancel the dock bar bounce animation based on the status bit. See the description of the following embodiments for details.

[0242] S307, when TouchInteractionService determines that the touch point is in a preset area at the bottom of the screen, TouchInteractionService creates otherActivityInputConsumer.

[0243] In this embodiment, otherActivityInputConsumer is used to control the changes in the window of the current application (the window corresponding to the application interface displayed on the electronic device when swiping up).

[0244] This application focuses on describing the changes in the dock bar. Therefore, the operations performed by otherActivityInputConsumer as the hand slides upward and is released will not be drawn in the illustrations or described in detail.

[0245] Of course, when TouchInteractionService determines that the touch point is in the preset area at the bottom of the screen, it executes S303 to create a Taskbar consumer class and controls the relevant changes of the Taskbar through the TaskbarActivityContext under the Taskbar consumer class. On the other hand, it executes S307 to create an application window consumer class and controls the relevant changes of the application window through the application window consumer class.

[0246] S308, after successfully creating TaskbarUnstashInputConsumer and otherActivityInputConsumer, TouchIntenactionService sends a down event to TaskbarUnstashInputConsumer.

[0247] S309, TaskbarUnstashInputConsumer receives a down event and sends a down event to TransitionCallback.

[0248] S310, after receiving the down event, the TransitionCallback initializes.

[0249] Initialization allows for the execution of corresponding flow control to change the Taskbar after receiving subsequent move and up events.

[0250] S311, TaskbarUnstashInputConsumer receives a down event and sends a down event to otherActivityInputConsumer.

[0251] S312, otherActivityInputConsumer initializes after receiving the down event.

[0252] Initialization can be used to execute the corresponding process control for changes in the application window after receiving move and up events.

[0253] Reference Figure 11 The move event during the swipe-up operation triggers the display of the dock bar on the electronic device.

[0254] As mentioned earlier, as the user moves their hand, the input will detect a move event and send it to the Launcher.

[0255] S401, TouchInteractionService received a move event.

[0256] S402, TouchIntenactionService sends a move event to TaskbarUnstashInputConsumer.

[0257] S403, TaskbarUnstashInputConsumer determines that the swipe distance exceeds distance D based on the coordinates carried by the move event and the coordinates carried by the down event, and sets the Autohide_suspend_touching flag to indicate that the dock bar moves with the hand.

[0258] S404, TaskbarUnstashInputConsumer sends a move event to otherActivityInputConsumer.

[0259] The otherActivityInputConsumer executes relevant processes based on the move event, which will not be described further in this embodiment.

[0260] S405, TaskbarUnstashInputConsumer sends a message to TaskbarActivityContext that the Taskbar will no longer be hidden.

[0261] S406, after receiving the message that the Taskbar will no longer be hidden, TaskbarActivityContext sends a command to TaskbarStashController to display the Taskbar at the bottom of the screen.

[0262] In S407, after receiving this instruction, TaskbarStashController refreshes the value of Stasher_in_app_auto to 0, or cancels the Stasher_in_app_auto flag. This indicates that the dock is currently hidden and needs to be displayed immediately.

[0263] S408, TaskbartranslationController triggers the Taskbar display process based on the flag bit.

[0264] S409, TaskbartranslationController sends information to TaskbartranslationController to display Taskbar.

[0265] S410, TaskbarStashControllerEX sends information to TaskbarDragLayerController to set alpha.

[0266] S411, TaskbarStashControllerEX sends information to TaskbarViewController to set the alpha.

[0267] Reference Figure 12 Following the move event, the dock bar will be updated accordingly.

[0268] Following S403, it also includes:

[0269] S501, TaskbarUnstashInputConsumer sends a message to TransitionCallback to start following.

[0270] S502, TransitionCallback sends a message to TaskbartranslationController to start translating.

[0271] S503, TaskbartranslationController creates TaskbarTrackSpringAnimation.

[0272] S504, the coordinates at which TaskbarUnstashInputConsumer sends a move event to TransitionCallback.

[0273] S505, TransitionCallback sends the coordinates of the move event to TaskbartranslationController.

[0274] S506, TaskbartranslationController sends the transformation coordinate information to TaskbarTrackSpringAnimation.

[0275] S507, TaskbarTrackSpringAnimation converts the coordinates of the move event into coordinates in the y-direction.

[0276] S508, TaskbarTrackSpringAnimation returns the coordinates in the y-direction to TaskbartranslationController.

[0277] S509, TaskbartranslationController adjusts the height of the Taskbar based on the coordinates in the y-direction to achieve a responsive feel.

[0278] S510, TaskbartranslationController sends information to TaskbarDragLayerController to set the y-coordinate.

[0279] S511, TaskbartranslationController sends information to TaskbarviewController to set the y-coordinate.

[0280] Reference Figure 13 When the user moves their finger to a certain position, they will release it.

[0281] S601, TouchInteractionService received an up event.

[0282] S602, TouchInteractionService sends an up event to TaskbarUnstashInputConsumer.

[0283] S603, TaskbarUnstashInputConsumer determines that the sliding distance is greater than distance C based on the coordinates of the up event.

[0284] S604, TaskbarUnstashInputConsumer sends a message to TransitionCallback to set the bounce effect if it determines that the sliding distance is greater than C.

[0285] S605, TransitionCallback sends information to TaskbartranslationController to set the bounce animation.

[0286] S606, TaskbartranslationController begins executing the Taskbar's bounce animation.

[0287] Following S603, it also includes:

[0288] S607, TaskbarUnstashInputConsumer sends an up event to otherActivityInputConsumer.

[0289] It can trigger the application window to execute related processes.

[0290] S608, otherActivityInputConsumer sends the up event to AabsSwipeUpHandler.

[0291] In S306, the release callback function registered by AbsSwipeUpHandler will determine the state bit change to multitasking.

[0292] For details, please refer to S609 and S610.

[0293] S609, confirm that the speed when releasing the hand is less than the preset value.

[0294] In practical applications, if the speed at which the hand is released is greater than or equal to a preset value, the process of entering the desktop will be executed.

[0295] S610, determine that the sliding distance exceeds the distance A, and determine the status bit as recent.

[0296] In practical applications, if the speed at which the hand is released is less than the preset value and the sliding distance is not greater than distance A, the desktop process will also be initiated.

[0297] In practical applications, the status bits include the following states:

[0298] LAST_TASK: Return to the previous application window.

[0299] HOME: Enter the system desktop.

[0300] NEW_TASK: Entering a new task.

[0301] RECENTS: Enter multitasking.

[0302] S611, AbsSwipeUpHandler sends status bits to TaskbarActivityContext (multitasking).

[0303] S612, TaskbarActivityContext sends a status bit (multitasking) to TaskbarUnstashInputConsumer.

[0304] S614, after receiving the status as multitasking, TaskbarUnstashInputConsumer sends a command to TaskbartranslationController to cancel the dock bar bounce.

[0305] S615, TaskbartranslationController removes the bounce effect from the dock.

[0306] In practical applications, when the S606TaskbartranslationController just starts executing the dock bar bounce animation, it will receive the S615's command to cancel the dock bar bounce.

[0307] Following S614, it also includes:

[0308] S616, TaskbarUnstashInputConsumer sends an animation type to TaskbarActivityContext to perform in-place hiding.

[0309] S617, TaskbarActivityContext sends the animation type for in-place hiding to TaskbartranslationController. S618, after receiving the animation type for in-place hiding, TaskbartranslationController sets the value of Stasher_in_app_auto to 1.

[0310] In S408, the value of Stasher_in_app_auto has already been set to 0. In this step, the value of Stasher_in_app_auto needs to be set to 1 first.

[0311] S619, TaskbartranslationController determines that in_app is 1 and statsh in app auto is 1, and then determines that mlsStashed is 1.

[0312] As mentioned earlier, when mlsStashed is 1, the Taskbar is hidden. S620, TaskbartranslationController sends a command to TaskbarStashControllerEX to execute the hide animation. S621, TaskbarStashControllerEX sends a command to TaskbartranslationController to execute the hide animation. S622, TaskbartranslationController executes the hide animation to hide the Taskbar in place.

[0313] S623, TaskbarStashControllerEX sends information to TaskbarDragLayerController to set alpha.

[0314] S624, TaskbarStashControllerEX sends information to TaskbarViewController to set the alpha.

[0315] In practical applications, to further reduce the load, the hide animation of the dock can be set as a window hide animation.

[0316] Reference Figure 14 The provided window hiding animation process was implemented for this application.

[0317] Before the Taskbar is displayed, TaskbarStashControllerEX creates and adds a TaskbarView in the WindowManager.

[0318] When releasing the handle, the process from S620 to S624 is described below.

[0319] Following the S620, it also includes:

[0320] S701, TaskbarStashControllerEX sends a Taskbar window retrieval request to WindowManager.

[0321] S702, WindowManager sends a Taskbar window to TaskbarStashControllerEX.

[0322] When S621 is executed, TaskbarStashControllerEX sends a command to TaskbartranslationController to perform a hide animation on the Taskbar window. When S622 is executed, TaskbartranslationController performs a hide animation on the Taskbar window.

[0323] The execution of S623 and S624 both require the SurfaceControl to function. That is, after S622, it also includes:

[0324] S703, TaskbartranslationController sends a command to SurfaceControl to set alpha reset.

[0325] S704, SurfaceControl sends information to TaskbarDragLayerController to set alpha.

[0326] S705, SurfaceControl sends information to TaskbarViewController to set alpha.

[0327] Normally, the Taskbar needs an alpha value of 1 to be displayed. During the Taskbar window hiding animation in S622, the Taskbar window's alpha value is changed from 1 to 0. If the Taskbar window's alpha value remains 0, the Taskbar will not be displayed the next time the user swipes up from the bottom of the screen within the application. Therefore, after the Taskbar window hiding animation in S622 ends, the Taskbar window's alpha value needs to be reset to 1.

[0328] In practical applications, resetting immediately after the animation ends may cause screen flickering. This embodiment of the application sets the window to reset within a certain time after the hiding animation of the Taskbar window executed in S622 ends. This avoids screen flickering without affecting the next swipe-up operation to trigger the display of the Taskbar. Based on experience, this time can be set to around 100ms, for example, 50ms, 80ms, 120ms, 150ms, etc.

[0329] The above example demonstrates how to cancel the dock's bounce animation and update the dock's view hide animation to the dock's window animation. Of course, to avoid screen flickering and without affecting the next swipe-up action to display the Taskbar, the Taskbar window's alpha can be reset some time after the hide animation ends.

[0330] In practical applications, refer to Figure 2 and Figure 4 As shown, as the user swipes up from the bottom of the screen, in addition to the change in the dock, the application window also changes with the change in hand position.

[0331] Reference Figure 15 As shown in the illustration, this application also provides another application scenario: dragging the application window to the left triggers split-screen display of the application, while dragging it to the right triggers it to display as a floating window. Of course, the dock (not shown in the illustration) or its bounce effect can be displayed during this process; this application does not impose any limitations. The specific form in which the application window is displayed when dragged to the left or right is merely an example and not intended to limit the scope; it is mainly for illustrative purposes. The application window can be swiped left and right. Swiping left and right may trigger different forms of application window display. For example, it is also possible to set a left swipe to display the application's split-screen window on the left and a right swipe to display the application's split-screen window on the right.

[0332] Reference Figure 16 As shown, since we need to implement multiple possible display states along the y-axis (taskbar, application window) and also consider at least two display states along the x-axis (split screen or floating window), in order to determine which display state to enter, we not only set lines A, B, C, and D (or distances to A, B, C, and D), but also set a horizontal x-axis threshold, and specifically executed it as follows:

[0333] If the sliding distance of the touch point in the x-axis direction is less than the x-axis threshold, the application window will respond to the touch in real time on the y-axis; the position of the application window on the x-axis will remain unchanged. (See reference...) Figure 16As shown, as the user swipes to the right, the user's touch point moves from coordinate 1 to coordinate 3 on the x-axis, while the application window remains at coordinate 1 on the x-axis. If the user releases their finger, the user enters a state according to lines A, B, C, and D in the example above.

[0334] If the touch point slides to the right a distance greater than or equal to the x-axis threshold, the application window can continue to follow the touch on the y-axis (or it can choose not to). The application window's position on the x-axis will first change before it begins to move, as shown in the reference. Figure 16 As the user's touch point moves from coordinate 4 to coordinate 6, the application window's x-axis coordinates first jump directly from coordinate 1 to coordinate 4, and then follow the touch. Releasing the touch triggers the application to display in split-screen or as a floating window.

[0335] If the distance the touch point slides to the left along the x-axis is greater than or equal to the x-axis threshold, no further examples will be provided; the operation is similar to sliding to the right.

[0336] However, this presents a problem: as the user slides their finger to the left or right, the application window sometimes jumps suddenly from coordinate 1 to coordinate 4 before responding to the finger. From the user's perspective, this is a lag.

[0337] To address the aforementioned lag issues and improve user experience, this application also provides another content display method.

[0338] You can configure the application window to respond in real-time along the y-axis when the sliding distance on the x-axis is less than the x-axis threshold, and simultaneously respond in real-time along the x-axis when the sliding distance on the x-axis is less than the x-axis threshold. When the sliding distance on the x-axis is less than the x-axis threshold, you can continue to respond in real-time along the x-axis when the sliding distance on the x-axis is less than the x-axis threshold. This means that as the user slides, the application window responds in real-time along the x-axis, thus preventing application window lag.

[0339] Another example is setting the application window to move in real-time along the y-axis when the sliding distance on the x-axis is less than an x-axis threshold, while maintaining its position on the x-axis. When the sliding distance is greater than or equal to the x-axis threshold, the application window can be moved along the x-axis by subtracting the x-axis threshold from the sliding distance and adding one pixel each time its position is updated. Assuming the x-axis threshold is the length corresponding to m pixels, after m updates, the application window can achieve real-time movement along the x-axis. This way, the application window doesn't move abruptly; instead, each movement's offset is one pixel greater than the user's finger's touch offset. From the user's perspective, the application window gradually changes from position 1 to position 6.

[0340] From the user's perspective, the above sliding process includes at least three time periods, which are illustrated below using movement and coordinates on the x-axis as examples:

[0341] In time period 1, the hand moves from coordinate 1 to coordinate 4; taking the period before reaching coordinate 4 as an example, the hand moves but the application window does not move.

[0342] Time period 2: Hand coordinates 4 to 6; the hand moves, the application window moves, and the distance the application window moves each time is greater than the distance the hand moves each time; however, the sliding distance of the application window starting from coordinate 1 is less than the sliding distance of the hand starting from coordinate 1.

[0343] Time period 3: Hand coordinates 6 to 7; the application window moves with the hand, and the distance the application window moves each time is equal to the distance the hand moves each time; the sliding distance of the application window starting from coordinate 1 is equal to the sliding distance of the hand starting from coordinate 1.

[0344] Of course, the one pixel in the above example is only for illustration and can make the application window change process more delicate and smooth. In actual applications, more pixels can be added each time to make the application window achieve a responsive effect more quickly, but the window movement process may be more laggy.

[0345] In practical applications, the appropriate number of pixels can be set according to the frequency of the touchpad's touch detection points and the refresh rate of the electronic device, thereby achieving a balance between the smoothness and responsiveness of window movement.

[0346] Reference Figure 17 The diagram shown is a flowchart illustrating the content display method provided in an embodiment of this application.

[0347] S801, swipe-up gesture detected.

[0348] S802, determine whether the sliding distance in the x-axis direction is less than the x-axis threshold;

[0349] S803, if the sliding distance in the x-axis direction is less than the x-axis threshold, then the application window will move in real time on the y-axis based on the sliding distance on the y-axis, while the position of the application window on the x-axis remains unchanged.

[0350] S804, if the sliding distance in the x-axis direction is greater than or equal to the x-axis threshold, then determine the sliding direction.

[0351] S805 increments the offset in the x-axis direction by one pixel each time the application window position needs to be updated based on a reported touch point position.

[0352] When calculating the offset, you can do so as follows:

[0353] Initialize the Tmp variable to the x-axis threshold.

[0354] When the sliding distance is greater than the x-axis threshold, the x-axis offset = sliding distance - x-axis threshold + 1 pixel.

[0355] Additionally, the Tmp variable needs to be subtracted by one pixel. Later, you can check if the Tmp value is equal to 0 to determine if the application window has moved smoothly along the X-axis.

[0356] S806, move the application window based on the offset.

[0357] Move the application window in the determined sliding direction according to the x-axis offset.

[0358] Repeat steps S805 and S806 until the x-axis coordinate of the application window is the same as the x-axis coordinate of the touch point, or until the user releases the touch.

[0359] After looping through the Tmp variable (m pixels) a certain number of times (m times), it's equivalent to adding m pixels, meaning the X-axis threshold has been filled. This means the application window's X-axis coordinates are the same as the touch point's X-axis coordinates, achieving responsiveness. Furthermore, upon the user releasing their touch, regardless of whether responsiveness has been added, the corresponding interface is displayed, ending the process.

[0360] S807 determines whether the x-axis coordinates of the application window and the x-axis coordinates of the touch point are the same.

[0361] In practical applications, it can also be used to determine whether the Tmp variable becomes 0, indicating whether the x-axis coordinates of the application window and the touch point are the same.

[0362] S808 cancels the judgment of sliding distance and x-axis threshold after the x-axis coordinates of the application window and the touch point are the same. No matter how you slide afterwards, you can follow the touch in real time on the x-axis.

[0363] Of course, if the x-axis coordinates of the application window and the x-axis coordinates of the touch point are different, continue to execute S805 to S807 in a loop.

[0364] like Figures 10 to 13 As shown, input events (down, move, and up events) are all sent to TouchInteractionService by InputDispatcher. TouchInteractionService then distributes the events to TaskbarActivityContext and OtherActivityInputConsumer via TaskbarUnstashInputConsumer.

[0365] TaskbarActivityContext is used to control changes to the Taskbar, while OtherActivityInputConsumer is used to control changes to the application window.

[0366] Figures 10 to 13 The embodiments shown all describe the changes in the Taskbar.

[0367] This application has been approved. Figure 18 The illustrated embodiment describes the process of how the application window changes as the sliding operation in the above embodiment occurs.

[0368] S901, after TaskbarUnstashInputConsumer receives the move event, it sends the move event to OtherActivityInputConsumer.

[0369] S902, after receiving the move event, OtherActivityInputConsumer sends the coordinates of the move event to AbsSwipeUpHandler.

[0370] S903, AbsSwipeUpHandler determines the relationship between the coordinates of the move event and the distance B mentioned above (the application window will only move along the y-axis if it exceeds B), thereby determining the y-axis offset or the target position of the application window.

[0371] S904, AbsSwipeUpHandler refreshes the real-time tethering animation information on the x and y axes through its onCurrentShiftUpdated method. onCurrentShiftUpdated is used to execute the real-time tethering animation.

[0372] S905, AbsSwipeUpHandler retrieves the application window's x-axis offset from RecentsView.

[0373] S906, AbsSwipeUpHandler sends the application window's x-axis offset and y-axis offset (or y-axis target position) to TaskViewSimulator.

[0374] The process of calculating the x-axis offset in this step can be found in [reference]. Figure 17 S802 to S805 in the series.

[0375] S907, TaskViewSimulator controls the window offset based on the current y-axis offset (or y-axis target position) and x-axis offset.

[0376] In practical applications, the following settings can also be configured:

[0377] If the touch point is less than line B, the displayed content is determined by the distance on the y-axis (e.g., multiple display states of the Taskbar).

[0378] If the touch point is located above line B, the display format of the application window, which allows for left and right sliding, needs to be considered.

[0379] Therefore, it can be set that the contact point will only proceed according to the above embodiment after it exceeds line B. Figure 17 The flow of the illustrated embodiment determines the movement of the application window along the X-axis. If the touch point does not exceed line B in the above embodiment, it proceeds according to... Figure 16 The method shown controls the movement of the application window on the x-axis. That is, if the sliding distance is less than the x-axis threshold, the position of the application window on the x-axis remains unchanged. If the sliding distance is less than the x-axis threshold, there is first a jump from coordinate 1 to coordinate 4, and then the window moves in real time to follow the movement.

[0380] In the example above, the changes are described from two aspects: the dock bar and the application window, as the user swipes up from the bottom of the screen.

[0381] In practical applications, refer to Figure 3 As shown, after the dock is brought up, the user's actions on the icons in the dock will trigger the display of the interface related to the action.

[0382] Reference Figure 19As shown, refer to Figure 19 The image shown is a schematic diagram of an interface when dragging an application icon from the dock, as provided in an embodiment of this application.

[0383] When a user drags an app icon from the dock to trigger the app's split-screen or floating window display, a drag mask is usually displayed below the app icon to indicate to the user what form the app will take (split-screen or floating). This mask tells the user how the app will be displayed after they release the drag.

[0384] Of course, in practical applications, multiple application icons can be dragged continuously to display multiple applications, and the display format of each application may be different. In addition, the split-screen and floating display formats described above are only examples, and electronic devices may also display the application in other forms. This application embodiment does not limit the specific operation or the display method corresponding to the operation.

[0385] Reference Figure 19 As shown in (a), this is the dragging path of the printer icon in the dock. A mask is displayed below the icon as the user drags it.

[0386] Reference Figure 19 As shown in (b), this is the position of the icon and the mask when the user drags the printer icon to the position shown in the illustration.

[0387] To maintain the same positional relationship between the mask and the icon during dragging, you can place the icon and mask on the same layer and move them together. However, this presents a problem. Icons are typically displayed above the dock, so when the mask and icon are on the same layer, the mask might obscure the dock area. See [link to documentation] for details. Figure 20 As shown in (a), the user experience is poor.

[0388] Reference Figure 20 As shown in (b) of the example, in this embodiment, the mask and icon can be set to different layers, with the icon layer located above the dock bar, allowing the icon to obscure the dock bar, and the mask layer located below the dock bar, so that the mask does not obscure the dock bar. This avoids... Figure 20 The occlusion problem is shown in (a) above.

[0389] Typically, having icons and masks on different layers can lead to a situation where their positional relationship cannot remain constant. In this embodiment, the icon movement is controlled by the Systemserver, which originally controls icon movement, before the SystemUI appears. After the SystemUI appears but before the mask appears, the icon movement is controlled by the SystemUI. After the mask appears, the icon position is updated based on the mask position while the SystemUI controls the mask movement. This ensures that the positional relationship between the icon and the layer remains constant.

[0390] Reference Figure 21 This describes the flow of the content display method provided in this application embodiment. The flow begins with the Launcher receiving a drag-and-drop notification from the input, starting from the dock. Then, the Taskbar in the Launcher continues the drag-and-drop process. Initially, the server handles the movement of the drag icon; later, the shell under the System UI displays the drag mask and moves the icon.

[0391] (1) Launcher initiates a drag-and-drop process to Systemserver.

[0392] (2) The Systemserver sends a start drag event to the Launcher.

[0393] (3) The Systemserver sends a start drag event to the System UI.

[0394] In steps (2) and (3), Systemserver determines whether the drag event is a drag of an application icon in the Taskbar; if so, it sends the coordinates of the drag event along with the layer where the icon is located. Otherwise, it does not send the layer where the icon is located.

[0395] (4) The framework sends the coordinates of the drag event to the Systemserver.

[0396] After receiving the coordinates of the drag event, Systemserver determines whether an application icon in the Taskbar was dragged and whether the focus has switched to the System UI (whether a mask has appeared). If so, it exits and leaves the subsequent movement of the icon to System; otherwise (e.g., if the mask has not appeared), Systemserver updates the position of the dragged icon.

[0397] (5) The input or inputEventReceiver in the framework sends the coordinates of the drag event to the system UI.

[0398] Typically, the system UI takes some time to appear, so step (5) is later than step (6).

[0399] After SystemUI receives the coordinates of the drag event, it first modifies the mask position, then adds a refresh frame callback. This callback enables the icon to be dragged while the mask is being dragged, and finally updates the position of the dragged icon. See the subsequent timing section for details.

[0400] (6) The system UI sends the release result to the Systemserver.

[0401] (7) The Systemserver sends the release result to the Launcher.

[0402] Reference Figure 22 The shell in the system UI contains multiple modules. Among them, Figure 22 The various classes or functions in the code work together to achieve this. Figure 23 The functions corresponding to the shell in Chinese. For details, please refer to... Figure 23 Description of the shell.

[0403] As examples, see DragAndDropController, DragLayout, and TaskbarBaseAnimationHelper for details. Figure 23 As shown.

[0404] As Figure 23 Examples of its class or function (not shown): TaskbarBaseHotArea, used to determine the basic variables and functions of a hotspot (e.g., a mask area). DragAndDropPolicyEX is used to retrieve the state data of DragAndDropPolicy. TaskbarFreeformOnFullHotArea is used to customize the hotspot (mask) for the application state during dragging. For example, the shape and size of the mask.

[0405] Reference Figure 23 This is a timing diagram of the interaction between the system server and the shell in SystemUI provided in an embodiment of this application.

[0406] S1000, input sends a start drag-and-drop event to Systemserver.

[0407] In step (3), Systemserver sends a start drag-and-drop event to the system UI. This includes the following:

[0408] S1001, after receiving the drag event sent by input, Systemserver sends the start drag information to DragAndDropController in the shell.

[0409] In this step, if the drag event is a Taskbar drag event, the information can carry the layer (surface) where the icon is located.

[0410] S1002, after DragAndDropController saves the icon surface, it sends the icon surface to TaskbarDragLayout.

[0411] S1003, DragAndDropController sends an initialization command to TaskbarDragLayout.

[0412] After receiving the initialization command, TaskbarDragLayout initializes the content required for the current drag event.

[0413] S1004, TaskbarDragLayout initialization.

[0414] Corresponding to steps (4) and (5), the following content is included:

[0415] S1005, Systemserver receives the coordinate information during the drag-and-drop process sent by input and begins to control the movement of the icon.

[0416] In this embodiment, since the shell initialization process is slower and typically acquires the corresponding coordinate information later than Systemserver, the icons are initially moved by DragState in Systemserver. DragState in Systemserver can first create the icon layer and then set the icon layer to have the highest priority, thus allowing the icon layer to be displayed above the Taskbar.

[0417] When moving specific icons, this is achieved in the following way:

[0418] The drag gesture includes three operations: long press, drag, and release.

[0419] When a user long-presses an icon, their finger may not be pressing the center point of the icon. Therefore, it is necessary to set offset variables mRegistrationX and mRegistrationY between the touch point and the icon's center point. Subsequently, the icon's center point and the finger's touch point will always maintain this offset. See the description of the following embodiments for details.

[0420] As the dragging process transmits the coordinates of the user's touch point, DragState can move the icon and the finger touch point while maintaining their positional relationship based on the real-time coordinates of the touch point and the offset (for example, if the finger was originally at the bottom of the icon, it will remain at the bottom of the icon during the dragging process).

[0421] S1006, the DragAndDropController in the shell receives the coordinate information during the drag-and-drop process sent by the input.

[0422] In practical applications, after the systemUI appears, the input will send the coordinate information of the dragging process to all current windows (including the systemUI, and possibly other windows). The systemserver will be able to respond to this coordinate information first; however, the shell in the systemUI has not yet been fully initialized, so it will not respond to this coordinate information for the time being.

[0423] When the Shell in systemUI has the ability to respond to the coordinate information (i.e., after systemUI appears and a drag event is received), S1007 will be executed, thereby triggering Systemserver to stop responding to the coordinate information.

[0424] S1007, after receiving the coordinate information during the dragging process sent by the input, DragAndDropController sends a message to Systemserver to stop the icon movement.

[0425] Once the DragAndDropController in the shell is responsive and receives the coordinate information during the drag process sent by the input, it can be moved by the shell. The DragState in Systemserver no longer needs to move the icon. Therefore, it is necessary to notify the DragState in Systemserver to stop moving the icon.

[0426] Therefore, in S1005, before the Systemserver receives the stop movement coordinates, it can control the icon's movement.

[0427] In step S1008, after DragAndDropController sends a message to Systemserver to stop icon movement, it sends a message to TaskbarDragLayout to move the icon before the mask appears. This message indicates that SurfaceControl.Transaction should be used to control icon movement.

[0428] In this application, the mask layer is created by TaskbarBaseAnimationHelper. Before the mask is actually initialized, it takes a while. Therefore, even if the shell can start controlling the icon movement, since the mask has not yet appeared, SurfaceControl.Transaction is needed to control the icon movement.

[0429] Of course, DragAndDropController can determine whether the mask has been created by interacting with TaskbarBaseAnimationHelper. (Not shown in the diagram.)

[0430] S1009, the DragAndDropController in the shell continues to receive coordinate information from the input during the drag-and-drop process.

[0431] The time interval for sending drag events is related to the frequency with which the touchpad detects the touch point position. This application uses only a few coordinates as examples in its embodiments.

[0432] In S1010, after the mask appears, DragAndDropController sends a message to TaskbarDragLayout to stop moving the icon.

[0433] Accordingly, as time goes on, the mask will be created, and then the mask can be updated and drawn by using View.invalidate.

[0434] S1011, after receiving the message that the icon has stopped moving, TaskbarDragLayout sends a command to TaskbarBaseAnimationHelper to update the mask through the view.

[0435] In this embodiment, TaskbarDragLayout sets a layer of type TYPE_APPLICATION_OVERLAY to display the mask. This layer is lower than the Taskbar, so that the mask does not obscure the Taskbar.

[0436] S1012, after TaskbarBaseAnimationHelper moves the mask position, it sends an applicationTransactionOnDraw to TaskbarDragLayout, causing SurfaceFlinger to move the icon while controlling the mask.

[0437] As mentioned earlier, when a user presses an icon, they may not be pressing the center point of the icon. Therefore, there is an offset between the finger's touch point and the icon's center point. This necessitates determining the exact amount of offset between the icon's center point and the finger's touch point.

[0438] When a long press event of a drag gesture is received, the offset of the finger touch point relative to the center point of the icon (the center point of the mask and the center point of the icon are the same) is calculated.

[0439] mSufaceOffsetX = mRegistrationX (coordinates with the top left corner as the origin) – (icon width / 2).

[0440] mSufaceOffsetY = mRegistrationY (coordinates with the top left corner as the origin) – (icon height / 2).

[0441] Upon receiving the coordinates of the drag event in the drag gesture, the position of the mask area (the top-left corner of the mask area) is calculated, where the center point of the mask coincides with the center point of the icon. drageventX and drageventY represent the coordinates during the dragging process.

[0442] The x-coordinate of the top-left corner of the mask area: drageventX-mSufaceOffsetX-(mask width / 2).

[0443] The y-coordinate of the top-left corner of the mask area is: drageventY - mSufaceOffsetY - (mask height / 2).

[0444] or,

[0445] The x-coordinate of the top-left corner of the mask area is: drageventX - mSufaceOffsetX + (mask width / 2).

[0446] The x-coordinate of the top-left corner of the mask area is: drageventY - mSufaceOffsetY + (mask height / 2).

[0447] The coordinates of the top-left corner of the mask area can be calculated using the method described above.

[0448] During the icon movement process, the position of the top-left corner of the icon is calculated as follows:

[0449] The x-coordinate of the top left corner of the icon: drageventX-mSufaceOffsetX-(icon width / 2).

[0450] The y-coordinate of the top left corner of the icon is: drageventY - mSufaceOffsetY - (icon height / 2).

[0451] or,

[0452] The x-coordinate of the top left corner of the icon is: drageventX - mSufaceOffsetX + (icon width / 2).

[0453] The y-coordinate of the top left corner of the icon is: drageventY - mSufaceOffsetY + (icon height / 2).

[0454] After obtaining the mask and icon position coordinates, ViewRootImpl.applyTransactionOnDraw causes SurfaceFlinger to move the icon via a callback during drawing. The callback function View.DragShadowBuilder in the example above can also set a touch offset, which controls icon movement through the touch offset in the callback function.

[0455] As can be seen from the above example, the movement of the icon is controlled by Systemserver; in order to make the positions of the mask and the icon consistent, the icon position is moved to SystemUI for execution, so that when SystemUI updates the mask position, the icon position is updated together through a callback.

[0456] Of course, when dragging an app icon from the dock, you can mark the icon that moves with your hand during the drag as a floating icon.

[0457] As another embodiment of this application, a content display method includes:

[0458] During the display of the interface of the first application, a first swipe operation is detected. The first swipe operation includes a first swipe process (e.g., swipe up) and a second swipe process (e.g., swipe right) after the first swipe process. The swipe distance of the first swipe process (e.g., swipe up) on the x-axis is less than a second distance (e.g., x-axis threshold). The swipe distance of the first swipe operation (e.g., the entire swipe process) on the x-axis is greater than the second distance (e.g., x-axis threshold). The second swipe process includes a first time period, a second time period, and a third time period; for example, time period 1, time period 2, and time period 3 in the above embodiment.

[0459] During the first sliding process (e.g., sliding up), the window of the first application moves along the y-axis as the touch point of the first sliding operation moves, while the position of the window of the first application on the x-axis remains unchanged.

[0460] During the second sliding process:

[0461] During the first time period (e.g., less than the x-axis threshold), the position of the window of the first application on the x-axis remains unchanged as the touch point of the first sliding operation moves.

[0462] During the second time period (e.g., greater than the x-axis threshold, before enough pixels have been compensated), the window of the first application moves along the x-axis as the touch point of the first sliding operation moves, and the distance the window of the first application moves along the x-axis is greater than the distance the touch point of the first sliding operation moves along the x-axis.

[0463] During the third time period (e.g., greater than the x-axis threshold, after sufficient pixel compensation), the window of the first application moves along the x-axis as the touch point of the first swipe operation moves, and the distance the window of the first application moves along the x-axis is equal to the distance the touch point of the first swipe operation moves along the x-axis.

[0464] In another embodiment of this application, the sliding distance of the first sliding process on the y-axis is greater than or equal to the first distance.

[0465] That is, only when the application window is dragged to a position greater than line B will the smooth left or right swipe be achieved according to the above process.

[0466] As another embodiment of this application, the method further includes:

[0467] During the display of the interface of the first application, a second swipe operation is detected. The second swipe operation includes a third swipe process and a fourth swipe process after the third swipe process. The swipe distance of the third swipe process on the y-axis is less than the first distance (not dragged out of the dock area, can be executed as a lag situation), and the swipe distance of the third swipe process on the x-axis is less than the second distance (x-axis threshold). The swipe distance of the second swipe operation on the x-axis is greater than the second distance. The fourth swipe process includes a fourth time period and a fifth time period.

[0468] During the third sliding process, the window of the first application moves along the y-axis as the touch point of the second sliding operation moves, while the position of the window of the first application on the x-axis remains unchanged.

[0469] During the fourth sliding process:

[0470] During the fourth time period, as the touch point moves, the position of the window of the first application on the x-axis remains unchanged;

[0471] During the fifth time period, the window of the first application first moves to the position of the touch point of the second sliding operation; after the window of the first application moves to the position of the touch point of the second sliding operation, the shrunken window of the first application moves along the x-axis as the touch point of the first sliding operation moves, and the distance the window of the first application moves along the x-axis is equal to the distance the touch point of the second sliding operation moves along the x-axis.

[0472] In this embodiment of the application, when the B line is not exceeded, according to Figure 16 Move the application window as shown.

[0473] Of course, you can also move the application window using the method of moving it when it is greater than line B throughout the entire process.

[0474] In another embodiment of this application, the first sliding process is an upward swipe starting from the bottom area of ​​the screen, the second sliding process is a left or right swipe; the third sliding process is an upward swipe starting from the bottom area of ​​the screen, and the fourth sliding process is a left or right swipe.

[0475] In another embodiment of this application, during the first sliding process, the method further includes:

[0476] If the sliding distance of the first sliding operation's touch point on the y-axis is greater than a third distance (e.g., the distance corresponding to line B), the window of the first application is reduced, where the third distance is less than the first distance.

[0477] In another embodiment of this application, the first sliding operation includes a pressing operation, a moving operation, and a lifting operation; the pressing operation has a first coordinate; the moving operation has multiple second coordinates; and the lifting operation has a third coordinate.

[0478] As another embodiment of this application, the method further includes:

[0479] The sliding distance on the y-axis and the sliding distance on the x-axis of the first sliding operation are determined based on the second coordinate and the first coordinate;

[0480] If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is less than the second distance, then as the touch point of the first sliding operation moves, the position of the window of the first application on the x-axis remains unchanged.

[0481] If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are different on the x-axis, then the window of the first application moves on the x-axis as the touch point of the first sliding operation moves, and the moving distance of the window of the first application on the x-axis is greater than the moving distance of the touch point of the first sliding operation on the x-axis, until the position of the window of the first application and the position of the touch point of the first sliding operation are the same on the x-axis;

[0482] If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are the same on the x-axis, then the window of the first application moves on the x-axis as the touch point of the first sliding operation moves, and the moving distance of the window of the first application on the x-axis is equal to the moving distance of the touch point of the first sliding operation on the x-axis.

[0483] In another embodiment of this application, if the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are different on the x-axis, then the window of the first application moves along the x-axis as the touch point of the first sliding operation moves, and the moving distance of the window of the first application on the x-axis is greater than the moving distance of the touch point of the first sliding operation on the x-axis, until the position of the window of the first application and the position of the touch point of the first sliding operation are the same on the x-axis, including:

[0484] If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are different on the x-axis, then calculate the difference between the moving distance of the touch point of the first sliding operation on the x-axis and the second distance.

[0485] The distance the window of the first application moves along the x-axis this time is obtained by summing the difference and the compensation step size (1 pixel).

[0486] Based on the distance the window of the first application moves along the x-axis, move the position of the window of the first application along the x-axis.

[0487] As another embodiment of this application, the method further includes:

[0488] During the display of the first application's interface, a third swipe operation was detected;

[0489] In response to the third swipe operation, a taskbar is displayed, in which an application icon of at least one application is displayed;

[0490] During the display of the taskbar, a fourth swipe operation is detected, which is applied to the application icon (e.g., printer icon) of a second application in the taskbar.

[0491] During the sliding process corresponding to the fourth sliding operation: the floating icon and mask of the second application are displayed at the touch point of the fourth sliding operation. The floating icon of the second application is displayed on the upper layer of the taskbar, and the mask is displayed on the lower layer of the taskbar. The positional relationship between the floating icon of the second application and the mask remains unchanged. The area where the mask is located is larger than and includes the area where the floating icon of the second application is located.

[0492] This application can trigger the display of the taskbar within the application by a third swipe operation;

[0493] Reference Figure 19 and Figure 20 As shown in (b), during the display of the character bar within the application, the selected application icon and mask are triggered by a swipe operation, with the application icon positioned above the taskbar and the mask positioned below the taskbar, thus improving the user experience.

[0494] In another embodiment of this application, the floating icon of the second application and the mask are located on different layers. The mask is used to indicate the display form of the second application corresponding to the floating icon after the fourth swipe operation ends. The display form includes: floating display, split-screen display, and full-screen mode. The display form is related to the swipe process of the fourth swipe operation.

[0495] In another embodiment of this application, the floating coordinates of the first application are the same as the size of the application icon of the first application. The fourth sliding operation includes: a press event, a move event, and a lift event. The press event has a fourth coordinate, and the move event has a fifth coordinate. The fourth coordinate is the coordinate of the touch point position relative to the first corner of the application icon of the first application. The fifth coordinate is the coordinate of the touch point position relative to the first corner of the floating icon of the first application. The center point of the floating icon and the center point of the mask are the same. The first corner is the upper left corner, the lower left corner, the upper right corner, or the lower right corner.

[0496] During the sliding process corresponding to the fourth sliding operation, the method further includes:

[0497] Based on the fourth coordinates and the length and width of the application icon of the first application, calculate the first offset of the touch point of the fourth swipe operation relative to the center of the icon;

[0498] Calculate the coordinates of the first corner of the mask based on the fifth coordinate, the first offset, and the length and width of the mask;

[0499] Based on the fifth coordinate, the first offset, and the length and width of the application icon of the first application, calculate the coordinates of the first corner of the floating icon;

[0500] Based on the coordinates of the first corner of the mask and the first corner of the floating icon, move the floating icon and the mask of the second application.

[0501] In another embodiment of this application, the fifth coordinate includes: a sixth coordinate, a seventh coordinate, and an eighth coordinate (corresponding to the coordinates before S1005, and the coordinates corresponding to S1006 and S1009 respectively). During the sliding process corresponding to the fourth sliding operation, the method further includes:

[0502] After the Input detects a press event, it sends the press event to the SystemServer, and the press event carries the fourth coordinate.

[0503] SystemServer sends the received press event to SystemUI;

[0504] After receiving the press event, SystemUI begins initialization;

[0505] After the Input detects the first movement event, it determines that the SystemUI initialization is not complete and sends the first movement event to the SystemServer. The first movement event carries the sixth coordinate.

[0506] SystemServer moves the floating icon according to the sixth coordinate in the received movement event;

[0507] After the Input detects the second movement event, it determines that the SystemUI initialization is complete. If the SystemUI initialization is complete, it sends the second movement event to the SystemServer and SystemUI. The second movement event carries the seventh coordinate.

[0508] SystemUI sends a stop command to SystemServer, which instructs SystemServer to stop responding to received movement events.

[0509] SystemServer does not respond to the second move event;

[0510] If SystemUI determines that the mask has not been fully created, before the mask is fully created, the floating icon is moved by the first module in SystemUI according to the seventh coordinate in the received second movement event.

[0511] After the Input detects the third movement event, it sends the third movement event to the SystemServer and SystemUI, and the third movement event carries the eighth coordinate;

[0512] SystemUI determines that the mask has been created. After the mask is created, the second module in SystemUI calculates the position of the mask and the position of the floating icon based on the eighth coordinate. Then, the first module in SystemUI moves the mask and the floating icon.

[0513] This process can be referenced. Figure 21 and Figure 23 As shown.

[0514] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0515] This application also provides a computer-readable storage medium storing a computer program that, when run on an electronic device, can implement the steps in the above-described method embodiments.

[0516] This application also provides a computer program product that, when run on an electronic device or a wireless router, enables the electronic device to perform the steps described in the various method embodiments above.

[0517] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying the computer program code to the first device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.

[0518] This application also provides a chip, which includes a processor coupled to a memory. The processor calls a computer program stored in the memory to implement the steps of any method embodiment of this application. The chip can be a single chip or a chip module composed of multiple chips.

[0519] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0520] Those skilled in the art will recognize that the units and method steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0521] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A content display method, characterized in that, include: During the display of the interface of the first application, a first swipe operation is detected. The first swipe operation includes a first swipe process and a second swipe process after the first swipe process. The swipe distance on the x-axis of the first swipe process is less than the second distance. The swipe distance on the x-axis of the first swipe operation is greater than the second distance. The second swipe process includes a first time period, a second time period, and a third time period. During the first sliding process, the window of the first application moves along the y-axis as the touch point of the first sliding operation moves, while the position of the window of the first application on the x-axis remains unchanged. During the second sliding process: During the first time period, as the touch point of the first sliding operation moves, the position of the window of the first application on the x-axis remains unchanged; During the second time period, the window of the first application moves along the x-axis as the touch point of the first sliding operation moves. The position of the window of the first application on the x-axis is updated m times during the second time period. Each time the position of the window of the first application on the x-axis is updated, the distance the window of the first application moves along the x-axis is greater than the distance the touch point of the first sliding operation moves along the x-axis. During the third time period, the window of the first application moves along the x-axis as the touch point of the first sliding operation moves, and the distance the window of the first application moves along the x-axis is equal to the distance the touch point of the first sliding operation moves along the x-axis. During the display of the first application's interface, a third swipe operation was detected; In response to the third swipe operation, a taskbar is displayed, in which an application icon of at least one application is displayed; During the display of the taskbar, a fourth swipe operation was detected, which was applied to the application icon of the second application in the taskbar. During the sliding process corresponding to the fourth sliding operation: a floating icon and a mask of the second application are displayed at the touch point of the fourth sliding operation. The floating icon of the second application is displayed on the upper layer of the taskbar, and the mask is displayed on the lower layer of the taskbar. The positional relationship between the floating icon and the mask remains unchanged. The area where the mask is located is larger than and includes the area where the floating icon of the second application is located. The floating icon and the mask of the second application are located on different layers. The mask is used to indicate the display form of the second application corresponding to the floating icon after the fourth sliding operation ends. The display form includes: floating display, split-screen display, and full-screen mode. The display form is related to the sliding process of the fourth sliding operation.

2. The method as described in claim 1, characterized in that, The sliding distance on the y-axis during the first sliding process is greater than or equal to the first distance.

3. The method as described in claim 2, characterized in that, The method further includes: During the display of the interface of the first application, a second swipe operation is detected. The second swipe operation includes a third swipe process and a fourth swipe process after the third swipe process. The swipe distance of the third swipe process on the y-axis is less than the first distance, and the swipe distance of the third swipe process on the x-axis is less than the second distance. The swipe distance of the second swipe operation on the x-axis is greater than the second distance. The fourth swipe process includes a fourth time period and a fifth time period. During the third sliding process, the window of the first application moves along the y-axis as the touch point of the second sliding operation moves, while the position of the window of the first application on the x-axis remains unchanged. During the fourth sliding process: During the fourth time period, as the touch point moves, the position of the window of the first application on the x-axis remains unchanged; During the fifth time period, the window of the first application first moves to the position of the touch point of the second sliding operation; after the window of the first application moves to the position of the touch point of the second sliding operation, the shrunken window of the first application moves along the x-axis as the touch point of the first sliding operation moves, and the distance the window of the first application moves along the x-axis is equal to the distance the touch point of the second sliding operation moves along the x-axis.

4. The method as described in claim 3, characterized in that, The first swipe is an upward swipe starting from the bottom area of ​​the screen; the second swipe is a left or right swipe; the third swipe is an upward swipe starting from the bottom area of ​​the screen; and the fourth swipe is a left or right swipe.

5. The method as described in claim 2, characterized in that, During the first sliding process, the method further includes: If the sliding distance of the first sliding operation's touch point on the y-axis is greater than the third distance, the window of the first application is reduced, where the third distance is less than the first distance.

6. The method as described in claim 2, characterized in that, The first sliding operation includes a pressing operation, a moving operation, and a lifting operation; the pressing operation has a first coordinate; the moving operation has multiple second coordinates; and the lifting operation has a third coordinate.

7. The method as described in claim 6, characterized in that, The method further includes: The sliding distance on the y-axis and the sliding distance on the x-axis of the first sliding operation are determined based on the second coordinate and the first coordinate; If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is less than the second distance, then as the touch point of the first sliding operation moves, the position of the window of the first application on the x-axis remains unchanged. If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are different on the x-axis, then the window of the first application moves on the x-axis as the touch point of the first sliding operation moves, and the moving distance of the window of the first application on the x-axis is greater than the moving distance of the touch point of the first sliding operation on the x-axis, until the position of the window of the first application and the position of the touch point of the first sliding operation are the same on the x-axis; If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are the same on the x-axis, then the window of the first application moves on the x-axis as the touch point of the first sliding operation moves, and the moving distance of the window of the first application on the x-axis is equal to the moving distance of the touch point of the first sliding operation on the x-axis.

8. The method as described in claim 7, characterized in that, If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the first application window and the position of the touch point of the first sliding operation are different on the x-axis, then the window of the first application moves along the x-axis as the touch point of the first sliding operation moves, and the moving distance of the window of the first application on the x-axis is greater than the moving distance of the touch point of the first sliding operation on the x-axis, until the position of the window of the first application and the position of the touch point of the first sliding operation are the same on the x-axis, including: If the sliding distance of the first sliding operation on the y-axis is greater than or equal to the first distance, and the sliding distance of the first sliding operation on the x-axis is greater than or equal to the second distance, and the position of the window of the first application and the position of the touch point of the first sliding operation are different on the x-axis, then calculate the difference between the moving distance of the touch point of the first sliding operation on the x-axis and the second distance. Based on the sum of the difference and the compensation step size, the distance the window of the first application moves on the x-axis this time is obtained; Based on the distance the window of the first application moves along the x-axis, move the position of the window of the first application along the x-axis.

9. The method as described in claim 1, characterized in that, The floating coordinates of the second application are the same size as the application icon of the second application. The fourth swipe operation includes: a press event, a move event, and a lift event. The press event has a fourth coordinate, and the move event has a fifth coordinate. The fourth coordinate is the coordinate of the touch point position relative to the first corner of the application icon of the second application. The fifth coordinate is the coordinate of the touch point position relative to the first corner of the floating icon of the second application. The center point of the floating icon and the center point of the mask are the same. The first corner is the upper left corner, the lower left corner, the upper right corner, or the lower right corner. During the sliding process corresponding to the fourth sliding operation, the method further includes: Based on the fourth coordinates and the length and width of the application icon of the second application, calculate the first offset of the touch point of the fourth swipe operation relative to the center of the icon; Calculate the coordinates of the first corner of the mask based on the fifth coordinate, the first offset, and the length and width of the mask; Based on the fifth coordinate, the first offset, and the length and width of the application icon of the second application, calculate the coordinates of the first corner of the floating icon; Based on the coordinates of the first corner of the mask and the first corner of the floating icon, move the floating icon and the mask of the second application.

10. The method as described in claim 9, characterized in that, The fifth coordinate includes: a sixth coordinate, a seventh coordinate, and an eighth coordinate. During the sliding process corresponding to the fourth sliding operation, the method further includes: After the Input detects a press event, it sends the press event to the SystemServer, and the press event carries the fourth coordinate. SystemServer sends the received press event to SystemUI; After receiving the press event, SystemUI begins initialization; After the Input detects the first movement event, it determines that the SystemUI initialization is not complete and sends the first movement event to the SystemServer. The first movement event carries the sixth coordinate. SystemServer moves the floating icon according to the sixth coordinate in the received movement event; After the Input detects the second movement event, it determines that the SystemUI initialization is complete. If the SystemUI initialization is complete, it sends the second movement event to the SystemServer and SystemUI. The second movement event carries the seventh coordinate. SystemUI sends a stop command to SystemServer, which instructs SystemServer to stop responding to received movement events. SystemServer does not respond to the second move event; If SystemUI determines that the mask has not been fully created, before the mask is fully created, the floating icon is moved by the first module in SystemUI according to the seventh coordinate in the received second movement event. After the Input detects the third movement event, it sends the third movement event to the SystemServer and SystemUI, and the third movement event carries the eighth coordinate; SystemUI determines that the mask has been created. After the mask is created, the second module in SystemUI calculates the position of the mask and the position of the floating icon based on the eighth coordinate. Then, the first module in SystemUI moves the mask and the floating icon.

11. An electronic device, characterized in that, It includes one or more processors and one or more memories; wherein the one or more memories are coupled to the one or more processors, and the one or more memories are used to store a computer program, which, when executed by the one or more processors, causes the electronic device to perform the method as described in any one of claims 1-10.

12. A chip system applied to an electronic device, the chip system comprising one or more processors, characterized in that, The processor is configured to invoke computer instructions to cause the electronic device to perform the method as described in any one of claims 1-10.

13. A computer-readable storage medium comprising a computer program, characterized in that, When the computer program is run on an electronic device, it causes the electronic device to perform the method as described in any one of claims 1-10.

Citation Information

Patent Citations

  • Method and related device for moving, zooming and controlling window in touch screen

    CN101515220A

  • Method and device for operating touch screen terminal screen

    CN102779004A