Method, device, storage medium and software program product for displaying schedule
By automatically detecting and processing conflicts between multiple established schedules in the schedule management system, and providing interface prompts and processing entrances, the problem of lack of automatic detection and processing of schedule conflicts in the existing technology is solved, and the efficiency and effectiveness of schedule management are improved. accuracy.
Patent Information
- Application Number
- CN202280055308.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-08-09
- Filing Date
- 2022-05-07
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2042-05-07
AI Technical Summary
The prior art lacks automatic detection and handling of conflicts between multiple established schedules in schedule management, relying on user subjective memory or analysis.
Provide a method for displaying schedules. After determining that there is a schedule conflict, the display interface prompts the user and provides a processing entry, allowing the user to handle the conflict by modifying the schedule time, entrusting, and requesting leave.
It realizes automatic detection of conflicts between multiple established schedules after creating a new schedule, and provides users with a clear processing entry, reducing users' subjective dependence and improving the efficiency and accuracy of schedule management.
Smart Images

Figure CN117751376B_ABST
Abstract
Description
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on August 9, 2021, with application number 202110909762.3 and application name “Schedule Conflict Handling Method, Device, Storage Medium and Software Program Product”, all contents of which are incorporated by reference in this application. Technical Field
[0002] The present application relates to the field of software development technology, and in particular to a method, device, storage medium and software program product for displaying a schedule. Background Art
[0003] Schedule management is one of the common functions supported by various client applications. For example, calendar, mailbox and other applications can support users to create and manage schedules. When users manage schedules, it often happens that there are multiple schedules in a day, and there may be conflicts between different schedules. For example, if two schedules overlap in time, executing one schedule will cause the other schedule to fail to execute.
[0004] At present, one way to deal with schedule conflicts is to only ask the user whether to confirm the creation of a new schedule when it is found that the new schedule conflicts with other established schedules in time. However, there is no prompt for whether there are conflicts between multiple established schedules, and there is no management mechanism for dealing with conflicts. It completely depends on the user's subjective memory or analysis. Based on this, a solution is urgently needed to solve this problem. Summary of the invention
[0005] The present application provides a method, device, storage medium and software program product for displaying a schedule, which can prompt and handle conflicts for multiple established to-be-executed schedules after a new schedule is created, without the need for the user to subjectively analyze whether there is a conflict.
[0006] In a first aspect, the technical solution of the present application provides a method for displaying a schedule, including: determining that there is a schedule conflict; displaying a first interface; the first interface includes at least one control; the at least one control is used to prompt a user that there is a schedule conflict; detecting a target operation for at least one control; and in response to the target operation, displaying at least one processing interface, the at least one processing interface being used to process the schedule conflict.
[0007] In a possible implementation, at least one control includes a first pop-up window; displaying the first interface includes: displaying the first pop-up window, displaying first text in the first pop-up window, and the first text is used to express the semantics of at least two schedules conflicting with each other.
[0008] In a possible implementation, at least one control further includes a first button; and displaying the first interface further includes: displaying the first button in a first pop-up window.
[0009] In one possible implementation, a target operation on at least one control is detected, including: a first operation on a first button is detected; in response to the target operation, at least one processing interface is displayed, including: in response to the first operation, a first processing interface is displayed; the first processing interface is used to modify the schedule time.
[0010] In one possible implementation, after displaying the first processing interface, the method further includes: displaying the conflicting schedule in the first processing interface; detecting a second operation of the user on the conflicting schedule, and executing a first processing operation corresponding to the second operation; the second operation includes one of dragging, long pressing, clicking, and double-clicking; the first processing operation includes: modifying the time of the dragged schedule according to the user's dragging operation; or, according to one of the user's long pressing, clicking, and double-clicking operations, popping up a time selector to modify the time of the selected schedule.
[0011] In one possible implementation, at least one control also includes a first tag for waking up the voice assistant; displaying the first interface also includes: displaying the first tag in a first pop-up window; detecting a target operation for at least one control, including: detecting a third operation for the first tag; after detecting the target operation for at least one control, it also includes: triggering the voice assistant to voice broadcast the first text.
[0012] In one possible implementation, at least one control also includes a second label; displaying the first interface includes: displaying a schedule list; displaying a second label in a display area corresponding to a schedule in conflict in the schedule list, wherein the semantics of the text expression displayed by the second label is conflict.
[0013] In one possible implementation, detecting a target operation for at least one control includes: detecting a fourth operation for a second tag or a display area corresponding to the second tag; and displaying at least one processing interface in response to the target operation, including: displaying a second processing interface in response to the fourth operation.
[0014] In a possible implementation, after displaying the second processing interface, it also includes: displaying at least one candidate item for conflict handling in the second processing interface; the at least one candidate item includes at least one of the following candidate items: reminder, delegation, leave, ignore, delete, and reject.
[0015] In one possible implementation, after displaying at least one candidate item for conflict handling in the second processing interface, it also includes: detecting a selection operation on at least one candidate item, executing a second processing operation, and the second processing operation includes any one of the following processing operations: detecting a fifth operation on a reminder candidate item, jumping to a reminder setting interface; after detecting a sixth operation on a delegation candidate item, jumping to a first email editing interface; the recipient of the first email editing interface is the delegate; after detecting a seventh operation on a leave candidate item, jumping to a second email editing interface, the recipient of the second email editing interface is the leave approver; after detecting a user performing an eighth operation with ignore, delete, or reject candidate items as the operation object, ignoring, deleting, or rejecting the selected schedule, respectively.
[0016] In a possible implementation, after executing a first processing operation corresponding to the second operation, or after executing the second processing operation, the method further includes: refreshing at least one control according to the first processing operation or the second processing operation.
[0017] In a second aspect, the technical solution of the present application also provides an electronic device, which includes a memory for storing program instructions and a processor for executing program instructions, wherein when the program instructions are executed by the processor, the electronic device is triggered to execute a method as described in any one of the above-mentioned first aspects.
[0018] In a third aspect, the technical solution of the present application further provides a storage medium, in which program instructions are stored, and when the storage medium is run on an electronic device, the electronic device executes the method as described in any one of the above-mentioned first aspects.
[0019] In a fourth aspect, the technical solution of the present application further provides a software program product, which includes program instructions, and when the software program product is run on an electronic device, the electronic device executes any of the methods described in the second aspect above.
[0020] The method, device, storage medium, and software program product provided in the embodiments of the present application, after a schedule is established, if it is determined that there is a schedule conflict, the user will be prompted with the conflict on the corresponding interface, and an entry for the user to handle the conflict will be provided to guide the user to handle the conflict, so that the user can be aware of the conflict in a timely manner and handle it, thereby reducing the degree of dependence on the user's subjective consciousness, reducing the occurrence of schedule confusion due to the user's subjective forgetfulness of the conflict, and helping to improve the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 This is a schematic diagram of an example of an application scenario of the technical solution of this application;
[0022] Figure 2This is a diagram of a user opening the month view interface of the calendar app (with conflict prompts);
[0023] Figure 3 It is a schematic diagram of a user opening the month view interface of the calendar APP (without a conflict prompt) before implementing the technical solution of the present application;
[0024] Figure 4 It is a schematic diagram of the software architecture of the method for displaying a schedule provided in an embodiment of the present application;
[0025] Figure 5 It is a signaling flow chart between various functional modules in the software architecture of the method for displaying a schedule provided in an embodiment of the present application;
[0026] Figure 6 It is a schematic diagram of an example of an interface for providing a schedule conflict reminder based on a schedule invitation email in a method for displaying a schedule provided in an embodiment of the present application;
[0027] Figure 7 It is a schematic diagram of an example of an interface for prompting schedule conflicts based on emails in a method for displaying schedules provided in an embodiment of the present application;
[0028] Figure 8 It is a schematic diagram of three interface examples corresponding to modifying the schedule time in the method for displaying the schedule provided in the embodiment of the present application;
[0029] Fig. 9 It is a schematic diagram of an example of an interface of a first pop-up window in an implementable manner in the method for displaying a schedule provided in an embodiment of the present application;
[0030] Fig.10 This is an example diagram of a schedule details interface in one achievable manner in the method for displaying a schedule provided in an embodiment of the present application;
[0031] Fig.11 It is a schematic diagram of an example of a new email interface opened after the delegation processing in the method for displaying a schedule provided in an embodiment of the present application;
[0032] Fig.12 is a schematic diagram of an example of a month view interface after conflict resolution in the method for displaying a schedule provided in an embodiment of the present application;
[0033] Fig.13 It is a schematic diagram of providing conflict prompts through desktop cards in an embodiment of a method for displaying a schedule provided by an embodiment of the present application;
[0034] Fig.14 It is a flowchart of an embodiment of a method for displaying a schedule provided in an embodiment of the present application;
[0035] Fig.15is a schematic diagram of an example of a month view interface in another achievable manner in the method for displaying a schedule provided in an embodiment of the present application;
[0036] Fig.16 It is a schematic diagram of another example of a month view interface after conflict resolution in the method for displaying a schedule provided in an embodiment of the present application;
[0037] Fig.17 It is a schematic diagram of a software hierarchical framework of a method for displaying schedule rushes provided in an embodiment of the present application;
[0038] Fig.18 yes Fig.13 The signaling flow chart between the modules in the software layered architecture shown;
[0039] Fig.19 is a schematic diagram of the hardware structure of an embodiment of an electronic device provided in an embodiment of the present application;
[0040] Fig. 20 A schematic diagram of the hardware structure of another embodiment of the electronic device provided in the embodiment of the present application. DETAILED DESCRIPTION
[0041] The technical solution in this application will be described below in conjunction with the accompanying drawings.
[0042] In the application scenario of schedule management, apps that support schedule management, such as calendars, lack explicit prompts for conflicts between different schedules written into the schedule list, making it difficult for users to find schedule conflicts.
[0043] In view of this, an embodiment of the present application provides a solution. After creating a new schedule, it will query the schedule information of multiple schedules in the schedule list to detect whether there are conflicts between different schedules. After a conflict is found, the user will be prompted with a conflict prompt on the interface, and the user will be guided to manage the conflicting schedules, providing the user with a convenient conflict handling mechanism to deal with schedule conflict problems.
[0044] The method for displaying a schedule provided in the embodiment of the present application is shown in Figure 1 As shown, it can be applied to schedule management scenarios based on various terminal devices, for example, Figure 1 The mobile phone U1, tablet computer T1, personal computer (PC), smart watch W1 and other wearable electronic devices shown can also be applied to Figure 1Personal digital assistants (PDAs), augmented reality (AR) devices, virtual reality (VR) devices, and various teaching aids (such as learning machines and early childhood education machines) are not shown in the figure. In actual application scenarios, the above devices can be used in the user interaction interface of the corresponding application (such as Figure 1 The interface I1) shown in FIG. Figure 1 The conflict prompts shown, for example, are used to provide corresponding conflict prompts when managing schedules through the PC mailbox, or to prompt which courses are conflicting when arranging schedules (subjects or learning projects) through the learning machine. Among them, the application used to implement the solution of this application (i.e., the first application) can be any application product that supports schedule management functions, for example, it can be various client applications that support schedule management, such as calendars, mailboxes, and memos.
[0045] The solution provided in the embodiment of the present application can be applied to a typical application scenario, which is a schedule management scenario in a calendar APP. The solution provided in the embodiment of the present application is explained below using the schedule management scenario in a calendar APP based on intelligent operation as an example.
[0046] See also Figure 2 As shown, for example, the current date is March 25, 2021. The user clicks the icon corresponding to the calendar APP on the mobile phone main interface U21 to open the calendar APP. Figure 2 In the month view interface U22 shown in the figure, the user has created four schedules on this date, and the schedule titles are: "College English 1", "College Physics", "*** Project Meeting" and "Calendar Code Review Meeting". Among them, the schedule "*** Project Meeting" from 14:00 to 16:00 in the afternoon conflicts with the schedule "Calendar Code Review Meeting" from 14:30 to 15:30 in the afternoon. Based on the method for displaying schedules provided in the embodiment of the present application, a conflict prompt will be given in the opened month view interface U22. Figure 3 As shown, in the related art, when no conflict prompt is given, after clicking the calendar icon, the calendar can be opened as shown in FIG. Figure 3 The original month view interface U31 shown can only display multiple schedules corresponding to the current day.
[0047] Specifically, the embodiment of the present application provides the following method to deal with the problem of schedule conflicts: query the schedule information to be executed, and after determining that there is a schedule conflict, display the first interface, the first interface includes at least one control, and the at least one control is used to prompt the user that there is a schedule conflict. For example, at least one control may include a pop-up window, a button, a label, etc. The method of prompting the user that there is a schedule conflict based on at least one control may be to display text or graphics, symbol marks, etc. representing the semantics of "conflict" on the control. Afterwards, if a target operation for at least one control is detected; then in response to the target operation, at least one processing interface for handling schedule conflicts is displayed. The processing interface includes a full-screen display interface, and may also include a control display interface such as a pop-up window interface. The target operation may be a click, a long press, and the like.
[0048] It should be noted that the display of the first interface may be executed in response to a user's instruction to open the first interface, rather than triggering the display of the first interface upon detecting a schedule conflict. The triggering condition of the first interface may be a user operation. For example, the first interface may be a month view interface, and the user clicks on a calendar icon to trigger the display of the month view interface, in which at least one control for conflict prompts is displayed.
[0049] Generally speaking, only established schedules can be queried for corresponding schedule information, so querying the information of pending schedules is to query multiple established schedules, and the query objects are pending schedules, excluding schedules that have expired or been rejected by the user. In addition, as an implementable manner, the multiple schedules queried are multiple schedules under the current day selected by the user.
[0050] In one possible implementation, when it is detected that a user requests to open any "day" or "day" in the calendar APP, it is checked whether there are conflicts among multiple schedules under the date corresponding to the number clicked by the user. That is, the triggering time for detecting whether there are conflicts among multiple schedules in the schedule list can be that the user clicks on any number representing a date in the calendar icon or calendar month view interface, for example, Figure 2 As shown, the current date is March 25, and the user clicks the calendar icon. It is assumed that the user clicks the number 25. In the opened month view interface, the number "25" is selected, and multiple schedules that need to be executed on March 25 are queried to see if there are any conflicts in time.
[0051] Users can Figure 2 In the month view interface U22 shown, click on other dates, for example, if the user clicks on the number "27", 27 is selected, and the queried schedule is the schedule corresponding to 27. In one achievable manner, querying the schedule information to be executed includes first determining whether the number of schedules corresponding to the day is more than two, and if there is only one schedule, there is no need to perform subsequent steps.
[0052] In another possible implementation, conflict detection can be set up periodically, such as a scheduled query every day at 12:00 a.m. or other scheduled time to check whether there are conflicts among multiple schedules to be executed that day; or based on the intelligently identified user wake-up time, for different users, multiple schedules can be queried before the user's wake-up time to detect whether there are conflicts.
[0053] In another possible implementation, the triggering time for detecting schedule conflicts may also be when creating a new schedule or synchronizing a schedule. For example, when creating a new schedule, it is determined whether the new schedule conflicts with an existing schedule based on the time of the new schedule. For a synchronized schedule, the schedule time of each synchronized schedule is obtained respectively, and the schedule time is compared with the existing schedule to see whether it conflicts.
[0054] It should be noted that, see Figure 4 and Figure 5 As shown, the schedule information in the schedule list can come from the following sources:
[0055] New schedule: local schedule information obtained by the user when creating a new schedule on the terminal device. The address field, time field, event name and other information of this type of schedule are all entered by the user.
[0056] Sync Schedule:
[0057] Import multiple schedule information created by the user based on the email account, or schedule information in schedule invitations received by the user through the email, into the schedule list to achieve synchronization with the email schedule;
[0058] Intelligently identify the schedule information from the shared data provided by the third-party application. For example, the third-party application can be a Short Message Service (SMS) application, an itinerary, travel application, or any service application that supports booking train tickets, air tickets, or bus tickets. After obtaining the data access permission, analyze and identify the data content and extract the schedule information from it;
[0059] Based on the synchronization of schedule information with the cloud server, users with cloud server accounts may choose to upload the schedule information of each client to the cloud server. Therefore, the schedule information of the same user is obtained through the cloud server, so that the user does not need to repeatedly create the same schedule on different clients. A new schedule can be synchronized with other clients once, reducing the tedious operation of repeatedly creating new schedules.
[0060] For example, see Figure 6 As shown, Figure 6An example of an email interface for schedule invitation via email is shown. The user receives a schedule invitation from the booker with the name "Case Communication****** Plan". After detecting that the user accepts the invitation, the schedule is added to the schedule list. And, as an implementable method, after detecting that the user accepts the invitation, it is checked whether the time of the schedule conflicts with other schedules on the same day. If it is determined that there is a conflict, a text label or button is displayed in the email interface to prompt the user that there is a conflict. For example, see Figure 6 As shown in the figure, the text label "Please respond. This appointment conflicts with another appointment on your calendar" is displayed on the email interface to remind the user that there is a conflict, where "appointment" refers to the schedule. After the user clicks the text label, Figure 7 The interface shown in the figure displays at least two conflicting schedules side by side, for example, the schedule "Case Communication ****** Plan" is displayed side by side with another schedule "SEP Case Study (Fourth Session)..." to prompt the user that the two schedules conflict.
[0061] It should be noted that in some implementations, the objects for detecting (querying) whether there are conflicts are limited to multiple schedules on the same day, and no conflict detection is performed on schedules that span multiple days or all-day schedules. In other implementations, all-day schedules or schedules that span multiple days can be used as query objects. The following is an exemplary description using multiple schedules on the same day as the detection object.
[0062] It should be noted that in the embodiments of the present application, the existence of a conflict includes a conflict in any dimension of the time dimension and the space dimension, and generally refers to a conflict in time, that is, the occurrence time of two or more schedules overlaps. In some cases, the existence of a conflict can also refer to a conflict in location. For example, the time of a schedule established by the user is from 14:00 to 16:00 in the afternoon, and the time of another schedule is from 16:00 to 17:00 in the afternoon. Although the time of the two schedules does not conflict, the location of the former schedule is City A, and the location of the latter schedule is City B, and the user cannot go from City A to City B instantly, so the two schedules are also in conflict. In some embodiments, this situation can also be determined as a conflict.
[0063] As an implementable method, the time of different schedules is queried, and if the time overlaps, it is determined that there is a conflict between the two or more schedules. Alternatively, for two schedules whose time difference is less than a preset time, further obtain location information, if the two locations are far apart and cannot be reached within the preset time based on existing transportation, it can also be determined that there is a conflict between the two schedules.
[0064] See also Figure 4 and Figure 5As shown, the schedule conflict prompt and processing can be implemented based on two modules, the calendar storage and the calendar. The calendar module includes a month view schedule unit, a conflict processing pop-up unit, an intelligent suggestion unit, and a day view schedule unit; the calendar storage module stores a schedule table for maintaining schedule information of multiple schedules. Exemplarily, the method for displaying schedules provided in the embodiment of the present application obtains schedule information and writes it into the schedule table through at least one of the cloud server, mailbox, scenario intelligence, and new schedule creation. After the month view schedule unit detects that the user clicks on the icon of the calendar APP, in the opened month view schedule interface, after clicking on the number representing "day", it queries whether there is a time conflict between multiple schedules in the schedule. If there is a conflict, the conflict mark in the schedule is updated, and a notification is sent to the intelligent suggestion unit to trigger a conflict prompt. The intelligent suggestion unit performs a conflict prompt, and in response to the user's instruction, opens the day view schedule interface. The day view schedule unit adjusts the schedule time based on the user's instruction, updates the schedule time, and notifies the intelligent suggestion unit to update the conflict suggestion. The intelligent suggestion unit also sends a notification to the conflict handling pop-up window unit to trigger conflict handling. The conflict handling pop-up window unit responds to the user's instructions to handle the conflicting schedule (remind, ignore, delegate, etc.), and updates the conflict suggestion after processing, and notifies the month view schedule unit to update the conflict display.
[0065] The following are the conflict prompts and handling methods provided by the embodiments of the present application:
[0066] Method 1:
[0067] At least one control includes a first pop-up window and a first button, and conflict prompts and processing are performed based on the first pop-up window and the first button.
[0068] After determining that there are conflicts among the multiple to-be-executed schedules for the day, a first pop-up window is popped up on the first interface to provide a conflict prompt. The first interface can be any interface for the application to interact with the user. Taking the calendar APP as an example, in one possible implementation, the first interface can be a calendar month view interface. Figure 2 The interface U22 shown in the figure can be used as the first interface. At least the first text is displayed in the first pop-up window, and optionally, the first button can also be displayed. The first text is any text content with natural semantics that there is a schedule conflict. The first button is a function button that triggers the event of opening the second interface, and is used by the user to view which specific schedules are in conflict. For example, after the user clicks the first button, the corresponding second interface is opened for the user to view the details of the conflict. Exemplarily, the second interface can be a day view interface that displays at least two conflicting schedule information.
[0069] For example, see Figure 2As shown in FIG. 1 , a first pop-up window W1 pops up in the interface U22, in which a first text “You have two conflicting schedules, please arrange your time reasonably” is displayed, and a button B1 (i.e., the first button) is provided for viewing which two or several schedules are conflicting, and the text displayed on the button B1 is “View”. The text on the button B1 can be a variety of words such as “Click to view details”, “Details”, “Modify”, etc., and is not limited to Figure 2 The first text displayed in the first pop-up window can be any text that can represent the natural semantics of the conflict, such as "There is a schedule conflict, please deal with it", "You have a schedule conflict", "At least two schedules are detected to be in conflict", etc., and is not limited to Figure 2 Example shown.
[0070] Exemplarily, it is detected that the user performs a first operation on the first button B1. For example, the first operation may be a click (single click). After the user clicks the button B1 in W1 in the first pop-up window, a window such as Figure 8 The day view interface U81 (second interface) shown in FIG. Figure 8 It can be seen intuitively from the middle interface U81 that there is a conflict between the two afternoon schedules "*** Project Meeting" and "Calendar Code Review Meeting".
[0071] Optionally, the user can adjust the time of the conflicting schedule based on the second interface. When it is detected that the user drags, long presses, clicks, or double-clicks one of the conflicting schedules as the operation object (second operation), the corresponding processing operation is performed. For example, when the user drags the schedule along the timeline, the time of the dragged schedule is modified according to the specific coordinate information of the user's dragging operation. For example, see Figure 8 As shown in the middle interface U82, the user drags the "*** Project Meeting" schedule along the timeline and drags it to after the calendar code review meeting. According to the user's dragging position, the time of the schedule is modified to 6 pm to 8 pm. Alternatively, when it is detected that the user has long pressed, clicked, or double-clicked on one of the conflicting schedules, a time selector pops up to modify the time of the selected schedule. After adjusting the time, refer to Figure 8 As shown in the middle interface U83, compared with Figure 2 In the interface U22, when the month view interface U83 is opened again, there will be no conflict prompt.
[0072] Optionally, at least one control may further include a first label, which may be set in the first pop-up window and used to wake up the voice assistant, and after detecting that the user performs a third operation with the first label as the operation object, trigger the voice assistant to voice broadcast the first text. The third operation may also be any one of a click, a double-click, and a long press.
[0073] Method 2:
[0074] At least one control may include a second label, and conflict prompting and processing are performed based on the second label.
[0075] The above-mentioned method 1 provides a first entrance (i.e., the first button) for users to view the specific information of the conflicting schedule and modify the schedule time. In the second method, after determining that there is a schedule conflict, a second entrance is provided on the first interface for users to handle the conflict. The second entrance can be implemented based on interface interaction or voice interaction. For example, the second entrance can be a button or label or other control for opening the conflict handling window; or, the second entrance can be a voice interface provided by the voice playback method, which can be implemented through an intelligent voice assistant (such as "YOYO"). For example, when the intelligent voice assistant is awakened, the user can open the corresponding conflict handling window through voice commands.
[0076] The following is a feasible implementation method based on interface interaction, where the second entry is a function button set in the first interface. When a schedule list with multiple schedule information is displayed in the first interface, a second label can be displayed in the display area corresponding to at least two conflicting schedules, and the semantic representation of the title text on the second label is conflicting, for example Figure 2 As shown in the month view interface U22, a schedule list including four schedules is shown in the month view interface. In the schedule list, there is a conflict between the schedule with the event name (i.e., title name) "*** Project Meeting" and the schedule with the event name "Calendar Code Review Meeting". Therefore, a second label B2 is displayed in the display area corresponding to the two schedules in the schedule list of the month view interface, and the text content displayed on the second label B2 is "Conflict". Figure 2 As shown in the middle interface U22, the area within the rounded rectangular frame for displaying schedule information is the display area corresponding to the corresponding schedule, and the display area can also be understood as a control, which contains a second label. For example, the rounded rectangular frame showing "*** Project Meeting" and "Honor Q7 Building Beijing Research Institute J Park" is the display area corresponding to the schedule "*** Project Meeting".
[0077] The text content of the second label can also be other fields or characters that can represent conflicting meanings, so as to serve as a conflict prompt. Figure 2The month view interface U22 simultaneously shows the first pop-up window W1, the first button B1 and the second label B2 set based on method one. This is only an example. In actual applications, only one of the methods may be used for conflict prompts. For example, only the second label B2 is displayed without displaying the first pop-up window and the first button B1; or only the first button B1 and the first pop-up window W1 are displayed without displaying the second label B2.
[0078] Next, in one implementation, when it is detected that the user has performed a fourth operation on the display area where the second tag is located, the second pop-up window is opened. In this method, the second tag is not an independent operation object, but when the user operates the second tag or the area near the second tag, the second processing interface is triggered to be displayed, for example, the second processing interface can be displayed by popping up the second pop-up window.
[0079] For example, Figure 2 In the middle interface U22, the area in the rounded rectangular frame for displaying the schedule "Calendar Code Review Meeting Honor Q7 Building Beijing Research Institute J Park" is the display area where the second label B2 is located. The user can trigger the pop-up of the second pop-up window by long pressing any position in the rounded rectangular frame. The fourth operation can be double-clicking, long pressing, sliding, etc. For example, in one implementable method, the long pressing operation is selected as the fourth operation. When it is detected that the user performs a long pressing operation on the second label or the area near it (in the rounded rectangular frame), the second pop-up window is opened.
[0080] In another embodiment, the second label can be used as an independent operable object, that is, the second label can be used as a separate button, and the user can open the second pop-up window by performing operations such as clicking on the button.
[0081] It should be noted that the operation of opening the second pop-up window and the operation of opening the schedule details interface can be distinguished. For example, a long press operation opens the second pop-up window, and a single click operation opens the schedule details interface. The user long presses the second label B2 or long presses the display area corresponding to the corresponding schedule "Calendar Code Review Meeting" to pop up the following Fig. 9 The second pop-up window W2 shown in the figure shows the detailed information of the calendar code review meeting, indicating that the schedule is selected. The user clicks the area corresponding to the schedule "calendar code review meeting" to open the schedule details interface of the calendar code review meeting, such as Fig.10 shown.
[0082] The second pop-up window is a window for users to handle conflicts. It is used to display at least one candidate for handling conflicts between at least two schedules. The candidate includes at least one of reminder, entrustment, leave, ignore, delete, and rejection, that is, it can be any one or any combination of reminder, entrustment, leave, ignore, delete, and rejection. Among them, reminders can include strong reminders and weak reminders. Strong reminders can be alarm reminders, and weak reminders are reminders in the form of sending system notification messages.
[0083] In one possible implementation, five candidate options, namely "Alarm Reminder", "Delegate", "Leave", "Ignore" and "Delete", are set below the second pop-up window to handle conflicting schedules, where a slash is used to mark the selected candidate, that is, the delegation candidate is selected, indicating that the user needs to delegate the calendar code review meeting schedule. Delegation means entrusting the schedule to other people to execute. After the user selects the delegation, the device automatically jumps to the operation interface of third-party applications such as mailboxes and instant messaging applications, and the user can invite others to handle it by sending emails, messages, etc.
[0084] In another possible implementation, the candidate options for conflict resolution displayed in the second pop-up window include only "Ignore", "Delete" and "Alarm Reminder"; or, only "Delegate", "Leave" and "Delete". Among them, after the user selects the "Ignore" candidate, the corresponding schedule in the schedule list becomes grayed out and is no longer highlighted, indicating that the schedule is in a state that does not need to be processed or cannot be processed. Next, after the fifth operation on the reminder candidate is detected, jump to the reminder setting interface; after the sixth operation on the delegation candidate is detected, jump to the first email editing interface; the recipient of the first email editing interface is the delegate; after the seventh operation on the leave candidate is detected, jump to the second email editing interface, and the recipient of the second email editing interface is the leave approver; after the user performs the eighth operation with the ignore, delete, or reject candidate as the operation object, ignore, delete, or reject the selected schedule, respectively.
[0085] When it is detected that the user has selected the "Delegate" button, the mailbox call event is triggered, and the first email editing interface is jumped to obtain the identity identifier (e.g., ID) of the target schedule to be delegated to others (i.e., the schedule selected in the second pop-up window), and a call request carrying the target schedule identity identifier is sent to start the mailbox and open the new email interface, automatically generate the email address of at least one of the recipient (i.e., the delegate), sender (delegate), CC object, and BCC object, and automatically generate the email subject and content to reduce user operations. For example, see Fig.11 As shown, after the user clicks the "Delegate" button, the Fig.11The "New Email" interface shown has a subject of "***Schedule Entrustment". Optionally, in another embodiment, the email body content is also automatically generated based on the target schedule, for example, "Hello, the sender *** requests you to handle ***Schedule on his behalf..." The automatic generation of the email body content can be achieved by calling a preset entrustment content template.
[0086] Among them, the sender's email address generally defaults to the email address of the user who initiated the delegation request. For schedule information added by email for schedule invitations, the inviter's email address can be used as the recipient or the email address of the CC object, and the email address of the recipient of the schedule invitation can be used as the sender's email address. In other scenarios, the recipient and other email address information can prompt the user to enter in advance, or after the new email interface is opened, if the email address cannot be automatically obtained, the user will be prompted "Failed to read the recipient's email address, please enter the recipient's email address manually."
[0087] After the email is sent successfully, the mailbox APP will send a successful message to the calendar APP in the form of a point-to-point message, or notify the calendar APP by broadcasting, and the calendar APP will update the data segment of the schedule in the schedule.
[0088] The processing method corresponding to the "leave" candidate item can also be sent by calling the mailbox to the person responsible for approving leave applications. When it is detected that the user has selected the "leave" candidate item, it jumps to the second email editing interface. In the second email editing interface, the email address of the person responsible for approving leave applications can be pre-entered, that is, when the user creates a new schedule, the user is prompted to enter the email address information of the person requesting leave; or, if the user has the permission to obtain it, the email address information of the current user's administrator is obtained through intelligent recognition, and it is automatically generated as the recipient's email address. The user can also trigger the opening of the "leave" button by clicking the "leave" button. Fig.11 In the interface shown, the subject name is changed to "***Schedule Leave Application" and the content of the email body is changed accordingly, and the details are not repeated here. The first or second email editing interface can be a new email interface, a forwarding interface or a reply interface.
[0089] The above-mentioned candidates provide a convenient processing method to assist users in effectively managing conflicting schedules.
[0090] It should be noted that in the second pop-up window W2, the conflicting schedules can be displayed side by side on the corresponding time axis and can be dragged. The user can modify the time of one of the schedules by dragging it to avoid time conflicts between the two schedules.
[0091] The above method 1 provides a convenient way to adjust the schedule time, which is suitable for scenarios where the schedule time can be adjusted; the above method 2 provides more conflict handling methods, which can be applied to scenarios where the schedule time cannot be adjusted.
[0092] When conflict handling is performed, the conflict handling performed by the user is recorded according to the conflict handling behavior performed by the user. In one possible implementation, the display of the corresponding schedule in each interface is updated according to the conflict handling record, so that the user can intuitively see the handling information made for the previous schedule.
[0093] For example, the first interface after the commission processing is updated Fig.12 As shown. In the item corresponding to the *** project meeting, there is no conflict prompt, that is, the "Conflict" button (i.e., the second label) B2 is no longer displayed. According to the conflict handling record, the text content of the corresponding second label in the item corresponding to the calendar code review meeting is changed from "Conflict" to "Delegated", indicating that the schedule has been delegated by the user. In another possible implementation, the conflict button is no longer displayed, and the handling record is not displayed, that is, the second label is no longer displayed. For example, Fig.12 The "Delegate" button is not displayed for the "Calendar Code Review Meeting" item in the schedule.
[0094] As an implementation method, the user sets an alarm for a schedule, and the "Conflict" button is still displayed in the schedule list. The user sets it as an alarm, which means that the daily schedule is more important, so even if the conflict is resolved, the conflict reminder will continue until the schedule is completed.
[0095] Method 3:
[0096] In this method, a conflict button is displayed on the schedule card displayed on the desktop interface of the terminal device to prompt the user that there is a schedule conflict. Fig.13 As shown, if the schedule "Magic UI 5.0 Design Exploration Concept..." conflicts with the schedule "Personal Affairs Center Meeting Minutes", "Conflict" buttons are added at designated locations near the two schedule labels.
[0097] It should be noted that the maintenance of schedule information can be achieved through the schedule, such as the schedule name, the ID assigned by the system to the schedule, and the schedule time, location and other information can be recorded in the schedule. The schedule is a structured storage data table. For the conflict handling records of each schedule, a separate processing record table can be set up to record the conflict handling operations for each schedule, so as to facilitate user query, or the conflict handling records can be written into the schedule together.
[0098] For example, taking three schedules as an example, the schedule table including schedule conflict handling records is shown in Table 1 below:
[0099] Table 1
[0100]
[0101] The table records the corresponding flags of reminder, leave, delegation, ignore, delete and reject. If the flag is 1, it means that the user has performed this operation on the schedule. If the flag is 0, it means that the user has not performed this operation on the schedule. For example, for the schedule "*** Meeting" with ID 000001, the flag of the reminder item is 1, which means that the user has selected the "Reminder" candidate in the conflict handling of the schedule.
[0102] The above schedule may also include information such as the email address of the recipient to whom the email is sent when entrusting or asking for leave.
[0103] It should be noted that the schedule is a data table for maintaining schedule information, and the schedule list is used to sequentially display schedule information of each schedule to the user on the interactive interface.
[0104] The following is a specific example of the method provided in the present application. Fig.14 As shown, in this embodiment, the method may include the following process:
[0105] Step 1401, query the schedule information to be executed on that day;
[0106] In one possible implementation, step 1401 is triggered to execute in response to a user clicking on a calendar APP icon in the main interface or selecting a day after opening the calendar.
[0107] Step 1402, determine whether there are at least two schedule conflicts? If yes, proceed to step 1411 and / or step 1421, if no, end the process. In this embodiment, the process between step 1402 and step 1404 is divided into two branches for description, the first branch includes steps 1411-1415, and the second branch includes steps 1421-1425.
[0108] First process branch:
[0109] Step 1411: A first pop-up window is displayed in the first interface, wherein the first pop-up window displays a first text, a first button, and a label for waking up the voice assistant.
[0110] For example, see Fig.15As shown, in addition to the first text "You have two conflicting schedules, please arrange your time reasonably" and the first button B1, the first pop-up window W1 also includes a label L1, the text content of which is "YOYO Suggestions·Schedule Conflict", and the label can wake up the voice assistant. Optionally, when it is detected that the user performs any operation such as clicking or long pressing the label as the operation object, the voice assistant "YOYO" is woken up, and the text content of the first text is voice broadcasted, and after the first text is voice broadcasted, the user can continue to be asked in voice "YOYO can help you resolve the conflict, do you want to resolve the conflict now?", that is, continue to interact with the user based on the voice interaction method, and perform corresponding operations based on the user's voice instructions. The specifics of this embodiment will not be repeated.
[0111] Step 1412: Detect that the user clicks the first button B1.
[0112] Step 1413, open the day view interface to display the conflicting schedules.
[0113] Step 1414: It is detected that the user has performed a drag operation on a schedule in the day view interface.
[0114] Step 1415, modify the schedule time according to the user's dragging position.
[0115] Second process branch:
[0116] Step 1421: In the schedule list, add a "Conflict" button (ie, a second label) to the schedule with a conflict.
[0117] As described in the second method above, one way to mark the conflict may be to add a second label B2 to the display boxes corresponding to at least two conflicting schedules detected. In this embodiment, the calendar month view interface is used as the first interface, and a first pop-up window is popped up on the interface and the second label is displayed. For the corresponding interface example, see Fig.15 As shown. It should be noted that, in other embodiments, only the first pop-up window may be popped up or only the second label may be displayed. If only the first pop-up window is popped up in the first interface, a function button for opening the second pop-up window may be added in the opened second interface to implement other conflict handling besides time modification; if only the second label is displayed in the first interface, in the opened second pop-up window, candidates for modifying the time may also be added to achieve modification of the time. It can be seen that based on the technical solution provided in the embodiments of the present application, various other embodiments in addition to the enumerated embodiments or implementation methods can be adapted.
[0118] Step 1422 , detect that the user has long pressed the “Conflict” button, and proceed to step 523 .
[0119] Step 1423, open a second pop-up window to display multiple candidate items for handling schedule conflicts.
[0120] Step 1424, detecting the candidate item selected by the user.
[0121] For example, after opening the second pop-up window, the user selects the "*** project meeting" schedule and selects the "reminder" candidate for the schedule. The device then displays the reminder candidate as a selected state, such as a highlighted state.
[0122] Step 1425, start timing, and when the designated time is reached, trigger a reminder event, and display the corresponding schedule information on the reminder interface.
[0123] The reminder method may be a text message pushed and the screen lit up in the locked screen state, or a weak reminder method such as a push message pushed in the unlocked screen state, or a strong reminder method such as an alarm reminder. Specifically, a corresponding option prompt box may be provided to allow the user to pre-select the reminder method. Then, step 1404 is entered.
[0124] Step 1404, save the conflict handling record.
[0125] Step 1405: Refresh the first interface according to the conflict handling record.
[0126] Refreshing the first interface may include refreshing the display of the first pop-up window and / or the second label, and refreshing the first pop-up window includes refreshing the YOYO label. Fig.16 As shown, the schedule "Calendar Code Review Meeting" after the alarm reminder processing continues to retain the second label with the word "Conflict" to more prominently prompt the user to execute the schedule. In other feasible implementations, the second label of "*** Project Meeting" is updated to "Reminder", indicating that the reminder processing has been performed on the schedule. Alternatively, in other embodiments, the second label can be deleted, and conflict marking and conflict processing record marking are no longer performed. If the user does not ignore or delete "Calendar Code Review Meeting" and "*** Project Meeting", and does not adjust the schedule time, the conflict still exists, and the display of the first pop-up window can continue to be retained on the first interface. In other embodiments, when there is no longer a conflict between multiple schedules of the day after processing by the user, the first pop-up window will no longer be displayed.
[0127] It is to be understood that some or all of the steps or operations in the above embodiments are merely examples, and the present application embodiments may also perform other operations or variations of various operations. In addition, the various steps may be performed in different orders presented in the above embodiments, and it is possible that not all of the operations in the above embodiments need to be performed.
[0128] The following is an exemplary description of the software architecture for implementing the technical solution provided in the embodiment of the present application from the perspective of software implementation. The technical solution provided in the embodiment of the present application can be implemented based on the operating environment provided by operating systems such as Android, iOS (iPhone Operating System), Windows Phone, Symbian, BlackBerry OS, Windows Mobile, Harmony, Microsoft Windows, Unix, Linux, Netware, etc.
[0129] Above Figure 4 and Figure 5 The software architecture shown describes a feasible design architecture of software functional modules from the perspective of functional implementation. Next, based on the perspective of the layered architecture of the operating system, it describes how to build the software layered architecture of the method for displaying a schedule provided in the embodiment of the present application.
[0130] See also Fig.17 As shown, in one possible implementation, the Android operating system is used as an example for explanation. In the layered architecture of the Android system, from top to bottom, there are the application layer, the framework layer (Framework, FWK), the Android runtime (Android runtime) and the system library layer, and the kernel layer. The technical solution provided in the embodiment of the present application can be implemented by designing the application layer and calling the application programming interface (Application Programming Interface, API) in the framework layer, without changing the Android runtime, the system library layer, and the kernel layer.
[0131] Specifically, the application layer can be further divided into a user interaction layer, a business logic layer and a data access layer. As an implementable method, the method provided in the embodiment of the present application can be implemented through two software functional modules, namely, a query module and an interaction module. Accordingly, in a feasible layered architecture for implementing the technical solution of the present application, the business logic layer is configured with a query module, the data access layer is configured with a schedule storage module, and the user interaction layer is configured with an interaction module.
[0132] The query module is used to query the schedule information to be executed to determine whether there are at least two schedules that conflict; the interaction module is used to execute corresponding user interaction events according to the query result of the query module to prompt the user of the conflict. Specifically, when the query module detects that there is a schedule conflict, the interaction module can prompt the user in the first interface that there are at least two schedules that conflict. The schedule information that the query module needs to query can be stored in the calendar storage module. When querying is required, the query module obtains data from the calendar storage module and performs conflict judgment.
[0133] The query module may include a month view schedule unit; the interaction module may include a conflict handling pop-up window unit, an intelligent suggestion unit and a day view schedule unit.
[0134] For example, see Fig.18 As shown, the signaling process between the query module, the interaction module and the calendar storage module may include:
[0135] The query module queries the schedule information in the schedule storage module (for example, it can be a calendar storage module). After detecting the existence of a schedule conflict, the notification interaction module executes an interactive event for prompting the user that there is a schedule conflict. In response to the notification message, the interactive module executes a preset interactive event, such as popping up a first pop-up window on the first interface, adding a "conflict" button to the conflicting schedule item in the schedule list, and performing corresponding conflict handling operations according to the user's operation on the first button in the first pop-up window or the voice assistant label or the "conflict" button, and sending the conflict handling record to the schedule storage module for storage. Among them, the business logic of triggering the interactive event and which operation to perform after detecting the user operation is implemented through the business logic control layer, and the corresponding control logic can be designed in the query module.
[0136] The functional implementation of the interaction module in the application layer requires calling the API in the framework layer (not shown in the figure) to achieve interaction. For example, the window manager Window Manager can be called to manage window programs, or the content provider Content Providers can be called to access the schedule information data of a third-party application, or the view manager ViewSystem can be called to build the corresponding schedule list, the text box of the first text and the first button, the second label and other controls; or, the notification manager Notification Manager can be called to set the prompt information displayed in the status bar to provide a schedule conflict prompt.
[0137] The embodiment of the present application further provides an electronic device, comprising a memory for storing program instructions and a processor for executing the program instructions, wherein when the program instructions are executed by the processor, the electronic device is triggered to perform the following steps:
[0138] When querying the schedule information to be executed and determining that at least two schedules conflict, the user is prompted in a first interface that at least two schedules conflict; the first interface is any interface for the application to interact with the user.
[0139] The electronic device provided in the embodiment of the present application is described below from the perspective of hardware implementation.
[0140] See also Fig.19As shown, the figure shows a feasible product hardware architecture of the electronic device 190 provided in an embodiment of the present application. The hardware architecture of the electronic device 190 may include:
[0141] Display screen 191, in the form of interface interaction, prompts the user of various operations that have schedule conflicts, which need to be implemented through display and sensing of the display screen. For example, display screen 191 implements Figure 2-3 , Figure 6-13 , Figure 15-16 The display of the interface shown in the accompanying drawings. Specifically, the display screen 191 may include 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 or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 190 may include more than two display screens 191.
[0142] Specifically, the display screen 191 can be a touch screen that integrates touch and display functions, for example, a capacitive touch screen, for sensing the user's click, long press and other operations on the first button or label in the first pop-up window and the second label shown in the display screen. Specifically, the display screen 191 can sense the pressure signal generated by the user through a pressure sensor, convert the pressure signal into an electrical signal, and complete the user command input. The pressure sensor can be a resistive pressure sensor, an inductive pressure sensor, a capacitive pressure sensor, etc. When there are click, long press and other operations acting on the display screen 191, the electronic device 190 detects the touch operation intensity according to the pressure sensor, and calculates the touch position according to the detection signal of the pressure sensor.
[0143] The processor 192 includes one or more processing units. For example, the processor 192 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a digital signal processor (DSP), etc. Different processing units may be independent devices or integrated into one or more processors.
[0144] The memory 193 is used to store data such as schedule information and conflict handling record information. The memory 193 may be an external memory independent of the processor 192, or may be set in the processor 192. For example, in some embodiments, the memory built into the processor 192 may be a cache memory, which is used to store instructions or data that have just been used or cyclically used by the processor 192. If the processor 192 needs to use the instruction or data again, it can be directly called from the cache memory. This avoids repeated access and reduces the waiting time of the processor 192.
[0145] The memory 193 may be a read-only memory (ROM), other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer.
[0146] The power management module 194 receives input from the battery and / or charging management module and supplies power to the processor 192, the memory 193, and the display screen 191. The power management module 194 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 194 can also be set in the processor 192. In other embodiments, the power management module 194 and the charging management module can also be set in the same device.
[0147] It is understood that the structures illustrated in the drawings of the embodiments of the present application do not constitute a specific limitation on the electronic device 190. In other embodiments of the present application, the electronic device 190 may include more or fewer components than shown in the drawings, or combine certain components, or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0148] For example, in one possible implementation, see Fig. 20 As shown, the electronic device 190 may further include:
[0149] The speaker 201, the microphone 202, and the audio circuit 180, wherein the speaker 201 is connected to the processor 192 through the audio circuit, and is used to play the voice corresponding to the first text after the user wakes up the YOYO voice assistant. Fig.15 In the interface shown, after YOYO is awakened, a voice announcement is made, "You have two schedules that conflict with each other. It is recommended that you check and deal with them to avoid affecting your trip." The microphone 202 picks up the user's voice to detect whether the user issues a voice command to check.
[0150] The motor 203 provides vibration power for the electronic device 190. For example, in the second pop-up window, when the user selects an alarm reminder, vibration can be performed during the reminder.
[0151] The input unit 204 is used to input user commands and may be hardware devices such as a keyboard, a mouse, and a stylus.
[0152] The wireless communication unit 205 is used to communicate wirelessly with the cloud server to remotely obtain schedule information. Specifically, the wireless communication unit 205 can be one or more devices that integrate at least one communication processing module. The wireless communication module receives electromagnetic waves via an antenna, modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 192. The wireless communication unit 205 can also receive the signal to be sent from the processor 192, modulate the frequency, amplify it, and convert it into electromagnetic waves for radiation through the antenna.
[0153] In one implementation, the processor 192 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a general-purpose input / output (GPIO) interface, and / or a universal serial bus (USB) interface, etc.
[0154] The processor 192 may include multiple I2C buses, and the processor 192 may be coupled to the power management module 195 and other modules through different I2C bus interfaces. For example, the processor 192 may be coupled to the display screen 191 through the I2C interface, so that the processor 192 and the display screen 191 communicate through the I2C bus interface.
[0155] In one implementation, the processor 192 may include multiple I2S buses, and the I2S interface may be used for audio communication. The processor 192 may be coupled to the audio circuit 180 via the I2S bus to achieve communication between the processor 192 and the audio circuit 180, thereby controlling the speaker 201 to emit sound.
[0156] An embodiment of the present application further provides a storage medium, in which program instructions are stored. When the storage medium is run on an electronic device, the electronic device executes the method described in any one of the above embodiments.
[0157] An embodiment of the present application further provides a software program product, which includes program instructions. When the software program product is run on an electronic device, the electronic device executes the method described in any of the above embodiments.
[0158] It should be understood that the term "unit" or "module" in the embodiments of the present application can be implemented in the form of software and / or hardware, and is not specifically limited to this. For example, a "unit" can be a software program, a hardware circuit, or a combination of the two that implements the above functions. The hardware circuit may include an application specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a dedicated processor, or a group processor, etc.) and a memory for executing one or more software or firmware programs, a merged logic circuit, and / or other suitable components that support the described functions.
[0159] Therefore, the units or modules of each example described in the embodiments of the present application can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application.
[0160] Furthermore, generally, it is very clear whether the improvement of a technology is a hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or a software improvement (for improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the access party programming the device. Designers can "integrate" a digital device on a PLD by programming themselves, without having to ask a chip manufacturer to design and make a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0161] Therefore, the method flow proposed in the embodiment of the present application can be implemented in hardware, for example, using a controller, and the controller controls the touch screen to implement the method flow proposed in the embodiment of the present application.
[0162] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.
[0163] It should be understood that in the various embodiments of the present application, “first”, “second”, etc. are only used to refer to different objects and do not mean any other limitations on the objects referred to.
[0164] In the embodiments of the present application, "at least one" refers to one or more, and "plurality" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent the existence of A alone, the existence of A and B at the same time, and the existence of B alone. Among them, A and B can be singular or plural. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b and c can be represented by: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.
[0165] Those of ordinary skill in the art will appreciate that the various modules and algorithm steps described in the embodiments disclosed herein can be implemented in a combination of electronic hardware, computer software, and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0166] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and modules described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0167] In several embodiments provided in the present application, if any function is implemented in the form of 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, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a terminal device (which can be a mobile phone, a personal computer, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.
[0168] The above is only a specific implementation of the present application. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. The protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A method for displaying a schedule, characterized in that: include: Display the first interface; The first interface includes information of a first schedule and first prompt information, wherein the information of the first schedule includes the occurrence time of the first schedule, the event name of the first schedule and the location information of the first schedule, and the first prompt information indicates that there are multiple schedule conflicts; In response to a first operation on the first interface, a second processing interface is displayed, the second processing interface including the occurrence time of the first schedule, the event name of the first schedule, the location information of the first schedule, the inviter of the first schedule, and the event names of the multiple schedules; the second processing interface includes a second pop-up window, the second pop-up window includes multiple candidate items for processing the first schedule; In response to a second operation on the first interface, displaying a schedule details interface of the first schedule; In response to the operation on the second processing interface, a schedule details interface of the first schedule is displayed.
2. The method according to claim 1, characterized in that The schedule details interface of the first schedule includes the occurrence time of the first schedule, the event name of the first schedule, the location information of the first schedule, the inviter of the first schedule, and the number of participants of the first schedule.
3. The method according to claim 1, characterized in that The second processing interface also includes time information of the multiple schedules.
4. The method according to claim 1, characterized in that The first prompt information does not include event names of the multiple schedules.
5. The method according to claim 1, characterized in that The operation on the second processing interface is an operation on a region corresponding to the event name of the first schedule.
6. The method according to any one of claims 1 to 5, characterized in that: The occurrence time of the first schedule, the event name of the first schedule, the location information of the first schedule and the invitees of the first schedule are displayed in the first area of the second pop-up window, and the event names of the multiple schedules are displayed in the second area of the second pop-up window. The second area is below the first area.
7. The method according to claim 6, characterized in that The plurality of candidate items are displayed below the second area.
8. The method according to claim 1, characterized in that The displaying of the first interface includes: In response to determining that the occurrence times of the plurality of schedules conflict, the first prompt information is displayed.
9. The method according to claim 8, characterized in that Before displaying the first prompt information, the method further includes: receiving information about the first schedule sent by other devices; Determining whether the occurrence time of the first schedule overlaps with the occurrence time of an established schedule to be executed, wherein the established schedule to be executed does not include an expired schedule; The plurality of schedules having overlapping occurrence times with the first schedule are determined.
10. The method according to claim 1, characterized in that The displaying of the first interface includes: In response to determining that the locations of the plurality of schedules conflict, the first prompt information is displayed.
11. The method according to claim 1, characterized in that: The method further comprises: Displaying a second interface, the second interface being a day view interface, the second interface including event names of the first schedule and event names of a second schedule, the plurality of schedules including the second schedule; In response to a dragging operation on the second schedule along the time axis, the occurrence time of the second schedule is modified based on the dragged position of the second schedule.
12. The method according to claim 11, characterized in that The multiple candidate items include alarm reminder, ignore, and delete; The method further includes: in response to selecting to ignore the candidate item in the second processing interface, the second schedule is grayed out in the schedule list.
13. The method according to claim 12, characterized in that The plurality of candidates also includes delegated candidates; The method also includes: in response to selecting a delegation candidate in the second processing interface, sending a call request based on the identity identification ID of the first schedule, starting the mailbox and displaying a first email editing interface, the first email editing interface including at least one of the automatically generated recipients, senders, carbon copy objects, and blind copy objects.
14. The method according to claim 12, characterized in that The plurality of candidates also includes a leave candidate; The method also includes: in response to selecting a leave candidate for the first schedule, obtaining the email address information of the current user's manager through intelligent identification, and displaying a second email editing interface, the second email editing interface including the recipient's email address, and the recipient's email address is automatically generated based on the email address information of the current user's manager.
15. The method according to claim 1, characterized in that When the first interface further includes a schedule list of the plurality of schedules, a second label is displayed in the display areas respectively corresponding to the plurality of schedules, and the second label includes a title text indicating that a conflict exists.
16. The method according to claim 15, characterized in that The plurality of schedules include a third schedule, and the method further includes: Modify the occurrence time of the third schedule, so that the modified occurrence time of the third schedule does not overlap with the occurrence time of the established schedule to be executed; After the occurrence time of the third schedule is modified, in the first interface, the display area corresponding to the third schedule does not include the second label.
17. The method according to claim 7, characterized in that The method further comprises: A schedule conflict processing record of the first schedule is added to the schedule table, wherein the schedule conflict processing record of the first schedule includes an identity ID of the first schedule, an occurrence time of the first schedule, an event name of the first schedule, location information of the first schedule, a conflict mark of the first schedule, and mark bits corresponding to the multiple candidate items.
18. An electronic device, characterized in that: The electronic device comprises a memory for storing program instructions and a processor for executing the program instructions, wherein when the program instructions are executed by the processor, the electronic device is triggered to execute the method as described in any one of claims 1 to 17.
19. A storage medium, characterized in that: The storage medium stores program instructions, which, when executed on an electronic device, enable the electronic device to execute the method as claimed in any one of claims 1 to 17.
Citation Information
Patent Citations
Method for managing conflicting schedules in mobile communication terminal
CN101043684A
Event scheduling conflict management and resolution for unprocessed events in a collaborative computing environment
CN101197021A
Agenda and day hybrid calendar view
CN101438227A
Scheduling opportunity previewer
CN102047278A
A schedule display method and terminal device
CN109388302A