Application-specific non-disturbing configuration
By storing and using application-related interrupt control mode identifiers in electronic devices, the problem of difficulty in distinguishing notifications in the non-disturbance mode in the prior art is solved, and more efficient notification management and user interface simplification are achieved.
Patent Information
- Application Number
- CN202380043496.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-04-24
- Filing Date
- 2023-05-30
- Publication Date
- 2025-01-17
AI Technical Summary
Existing electronic devices are difficult to effectively distinguish and process notifications from different applications in non-disturbance mode, resulting in users still being disturbed by distracted notifications in some cases.
By storing interrupt control mode identifiers selected by the user associated with the application, the system process provides these identifiers to the application in order to configure the application's user interface according to user configuration options and to mute or hide a specific interrupt control mode in a specific interrupt control mode Type of notification.
The application-specific non-disturbance configuration is implemented for different applications, providing higher privacy and a simplified user interface, reducing user notification interference in non-disturbance mode.
Smart Images

Figure CN119325596A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Provisional Patent Application No. 63 / 349,028, entitled “Application-Specific Do Not Disturb Configuration,” filed on June 3, 2022, the disclosure of which is hereby incorporated herein in its entirety. Technical Field
[0003] The present specification generally relates to receiving and processing data associated with a mobile device, which may include, for example, data for application-specific Do Not Disturb configuration for the electronic device. Background Art
[0004] The electronic device may include a do not disturb option. When the do not disturb option is enabled on the electronic device, one or more notifications on the electronic device may be muted. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Certain features of the subject technology are set forth in the appended claims. However, for purposes of explanation, several embodiments of the subject technology are set forth in the following drawings.
[0006] Figure 1 An example network environment is illustrated according to one or more implementations.
[0007] Figure 2 Various aspects of electronic devices according to aspects of the present disclosure are illustrated.
[0008] Figure 3 An exemplary image of a configuration user interface is illustrated.
[0009] Figure 4 A flow diagram illustrating an example process associated with application-specific Do Not Disturb according to one or more implementations is illustrated.
[0010] Figure 5 A flow diagram illustrating an example process associated with application-specific Do Not Disturb according to one or more implementations is illustrated.
[0011] Figure 6 Example electronic systems are illustrated that can be used to implement aspects of the subject technology according to one or more implementations. DETAILED DESCRIPTION
[0012] The specific description shown below is intended to be a description of various configurations of the subject technology and is not intended to represent the only configuration that the subject technology can be practiced. The accompanying drawings are incorporated herein and constitute a part of the detailed description. The detailed description includes specific details intended to provide a thorough understanding of the subject technology. However, the subject technology is not limited to the specific details described herein, and one or more other specific implementations can be used to practice. In one or more specific implementations, structures and components are shown in block diagram form to avoid blurring the concepts of the subject technology.
[0013] Electronic devices such as personal computers (e.g., desktop computers and laptop computers), portable electronic devices (e.g., tablet computers and smart phones), and wearable devices (e.g., smart watches, etc.) typically include applications that receive and process data, which may be generated locally or generated from another electronic device or server over a network. In an example, an electronic device may include a messaging application that receives and processes electronic messages (e.g., including text, images, video content, audio content, or other objects). A user of an electronic device may transmit a message to a remote electronic device of a contact, where the remote electronic device receives a notification upon receipt. In another example, an application may automatically transmit a notification based on information such as the user's location, date, time, heart rate, another user's social media post, or other triggers. Such notifications may sometimes be desired by the user, but may also be distracting. Therefore, an electronic device may operate in one or more interruption control modes, which may temporarily protect the user from being disturbed by specific types of notifications from one or more applications. When in an interruption control mode, interruptions (e.g., events or notifications) from an application may be muted based on received filter indicators (e.g., filter conditions and predicates) associated with each interruption of the application.
[0014] According to one or more specific implementations of the subject technology, a system process may store a set of interruption control mode identifiers for user-selected configuration options associated with an application. When the device is operating in an interruption control mode such as a do not disturb mode, the system process may provide a set of interruption control mode identifiers to the application to facilitate operation of the application according to the configuration options selected by the user. The set of interruption control mode identifiers may be used by the application to configure a user interface of the application, which is provided for display to the user. For example, certain aspects of the user interface may be hidden in a particular interruption control mode, such as hiding the display of personal emails when an email application is in work mode. The disclosed subject matter may allow for a privacy and simplified architecture for providing application-specific configurations for one or more interruption control modes, where the configurations may be customized to a subset of applications (e.g., work email notifications versus personal email notifications).
[0015] Figure 1 An example network environment 100 including various devices according to one or more implementations is illustrated. However, not all of the depicted components may be used in all implementations, and one or more implementations may include additional or different components than those shown in the figures. Changes in the arrangement and types of these components may be made without departing from the spirit or scope of the claims listed herein. Additional components, different components, or fewer components may be provided.
[0016] The network environment 100 includes an electronic device 102, an electronic device 104, an electronic device 108, a network 106, or one or more servers 120 communicatively coupled to the network 106. The network 106 may include a portion of a public network such as the Internet. The network 106 may include a local area network (LAN) component that couples the corresponding electronic device to the broader Internet, such as a Wi-Fi router or an Ethernet connection local to each of the electronic devices 102 and 104. The LAN that connects the electronic device 102, the electronic device 104, or the electronic device 108 to the Internet may include one or more different network devices or network media, or may utilize one or more different wireless network technologies or wired network technologies, such as Ethernet, optical, Wi-Fi, Bluetooth, Zigbee, Ethernet power line, coaxial, Z-wave, generally any wireless network technology or wired network technology that can communicatively couple an electronic device to the Internet. Portions of network 106 include a cellular communications network that includes one or more base station transceivers located at fixed locations in each of several geographic “cells” that communicate wirelessly with terminal devices (such as electronic device 102, electronic device 104, or electronic device 108) and via wired communications and / or satellite communications with various switching networks for voice calls and text messaging, mobile data, and public telephones.
[0017] The electronic device 102, the electronic device 104, or the electronic device 108 may transmit or receive messages (such as text messages, multimedia messages, social media messages, or other network data) to each other or to or from other electronic devices directly or via the network 106. The electronic device 102, the electronic device 104, or the electronic device 108 may process the received or generated message and may determine whether to provide a notification (e.g., a visual notification or an audio notification). The electronic device 102, the electronic device 104, or the electronic device 108 may also receive messages or other network data from or via one or more servers such as the server 120. In one or more specific implementations, the network data exchanged between the electronic device 102, the electronic device 104, or the electronic device 108 may contain links or other references to other data available through the network 106 (such as from one or more servers 120).
[0018] One or more of electronic devices 102, 104, or 108 may be, for example, a portable computing device, such as a laptop, a smart phone, a smart speaker; a peripheral device (e.g., a digital camera or headphones); a digital media player; a tablet device; a wearable device (e.g., a smart watch or band); or any other suitable device that includes or is communicatively coupled to, for example, one or more wired or wireless interfaces, such as a Wi-Fi communication circuit system, a cellular communication circuit system, a Bluetooth communication circuit system, a Zigbee communication circuit system, a near-field communication (NFC) communication circuit system, or other wired communication circuit system or wireless communication circuit system, and may be provided with software or hardware for transmitting and receiving network data (such as electronic messages).
[0019] By way of example, in Figure 1 In the embodiment, each of electronic devices 102, electronic device 104, or electronic device 108 is depicted as a smart phone. In one or more specific implementations, one or more electronic devices (e.g., electronic device 102, electronic device 104, or electronic device 108) may be or may include a smart TV, a laptop, or a mobile device (e.g., a smart phone or a smart watch). In one or more specific implementations, one or more of the electronic devices may be integrated into its corresponding display device. One or more of the electronic devices may be or may include the following description of the present invention. Figure 6 All or part of the electronic system in question.
[0020] Electronic device 102, electronic device 104 or electronic device 108 may include a processor, memory, communication interface or other electronic components. The processor may include suitable logic components, circuit systems or codes capable of processing data or controlling the operation of the device. In this regard, the processor may be enabled to provide control signals to various other components of the device. The processor may also control the transfer of data between various parts of the device. Additionally, the processor may enable the implementation of an operating system (e.g., system processor 202), or otherwise execute code to manage the operation of the device. The memory may include suitable logic components, circuit systems or codes capable of storing various types of information (such as received data, generated data, code or configuration information). The memory may include, for example, random access memory (RAM), read-only memory (ROM), flash memory or magnetic storage. In one or more specific implementations, one or more of the processor, memory, communication interface or one or more of them may be implemented in software (e.g., subroutines and code), may be implemented in hardware (e.g., application specific integrated circuit (ASIC), field programmable gate array (FPGA), programmable logic device (PLD), controller, state machine, gated logic component, discrete hardware component or any other suitable device), or a combination of the two.
[0021] One or more of the servers 120 may be or may include the following: Figure 6 All or part of the electronic system discussed. Each of the servers 120 may include one or more servers (such as a cloud of servers 130). For purposes of explanation, two servers are shown and discussed with respect to various operations for providing network data to or between electronic devices 102, 104, or 108. However, these operations and other operations discussed herein may be performed by one or more servers, and each different operation may be performed by the same or different servers.
[0022] For the purpose of explanation, the network environment 100 is Figure 1 1 and 120; however, the network environment 100 may include any number of electronic devices and any number of servers.
[0023] Figure 2 Various aspects of electronic devices according to various aspects of the present disclosure are illustrated. Figure 2In the example of , electronic device 102 includes application 201 or system process 202 (e.g., stored in memory at the device and executable by one or more processors of the device). Application 201 can receive network data (e.g., from another electronic device (such as electronic device 104) or from system process 202 via network 106). For example, the network data may include messages from electronic device 104 or server data (e.g., push notifications, web content of a web page, social media content, or other server data that has been provided to server 120 by contacts of electronic device 102 for acquisition by electronic device 102). The network data may include content (e.g., message content) such as text, images, emoticons, video, audio, etc.
[0024] As disclosed in greater detail herein, the system process 202 can be communicatively connected to the application 201, such as via inter-process communication and / or one or more application programming interface (API) calls. The system process 202 can receive information (e.g., configuration information) from the application 201 or transmit information to the application 201. It is contemplated that in one or more specific implementations, the system process 202 may not be able to semantically understand the information received from or transmitted to the application 201 (e.g., the application configuration is opaque to the operating system, which may assist in privacy). In addition, the application may not be explicitly aware that the device is in interrupt control mode (e.g., the operating system configuration is opaque to the application).
[0025] Figure 3 An exemplary image of a configuration user interface 300 is illustrated. The configuration user interface 300 may include a plurality of configuration options in a template (also referred to herein as a "fillable form"). The plurality of configuration options may include an application ("app") option 301, an application option 302, or an application option 303 that may be selected by a user. The configuration options may facilitate an interruption control mode of the electronic device 102. In an example, when a configuration option is selected, a system process may store information associated with one or more configuration options for an interruption control mode (e.g., Do Not Disturb (DND)) and respond to a predetermined trigger. Example application configuration options may include hiding one or more aspects of an application's user interface (e.g., hiding a chat window in work mode), controlling notifications within an application, controlling data exposed by an application (e.g., work email vs. personal email), etc. The disclosed subject matter allows for per-application feature granularity of interruption control modes in one or more applications such as an email application (e.g., based on a subset of email: work email vs. personal email), a calendar application (e.g., a subset of a calendar: work calendar vs. personal calendar), a messaging application, or a social media application, etc.
[0026] Figure 4 A flowchart illustrating an example process associated with application-specific Do Not Disturb according to one or more specific implementations. For purposes of explanation, this document primarily refers to Figure 1 The process 400 is described with reference to the electronic device 102. However, the process 400 is not limited to Figure 1 The electronic device 102 of the present invention may be used, and one or more blocks (or operations) of the process 400 may be performed by one or more other components or other suitable devices. Further for the purpose of explanation, the blocks of the process 400 are described herein as occurring sequentially or linearly. However, multiple blocks of the process 400 may occur in parallel. In addition, the blocks of the process 400 do not have to be performed in the order shown, or one or more blocks of the process 400 do not have to be performed or may be replaced by other operations.
[0027] At block 402, a system process 202 at an electronic device 102 of a first user (e.g., an electronic device registered to an account of the first user or logged into an account of the first user) may store information associated with a first configuration option (e.g., an application option 301) of a plurality of configuration options, the first configuration option being associated with an interrupt control mode. Before storing the first configuration option, a configuration user interface 300 may be presented on a display of the electronic device 102. The configuration user interface 300 may be based on a template. In one or more specific implementations, the system process 202 may receive a template from an application 201. The template may be designed to correspond to a specific operation (e.g., notification) of the application 201.
[0028] Storing information associated with the first configuration option may include storing a set of interrupt control mode identifiers for user-selected configuration options for the application (e.g., the identifier may be an alphanumeric sequence that is semantically incomprehensible to the system process 202) without receiving or storing the user-selected configuration option (e.g., text that clearly describes the option to the user). In an example, the first configuration option may be a user-selected configuration option associated with the application 201. The first configuration option may be associated with a notification that delays or enables a function of the application 201 when a threshold time period is reached, when a threshold position is reached, or when other triggers occur.
[0029] At block 404, the system process 202 or the application 201 may receive an indication of a triggering event for an interrupt control mode. The triggering event may be based on a time period, a location, or a use of a second application on the electronic device 104, among other things. Example uses of the second application may include a video conferencing application, a training application, or a voice call. It is also contemplated herein that a user may set an interrupt control mode. Exemplary interrupt control modes may be defined as a work mode, a fitness mode, a sleep mode, or a scheduled meeting mode.
[0030] At block 406, information associated with the first configuration option may be transmitted to the application 201. The information associated with the first configuration option may be provided without notifying the application of the interrupt control mode. The information may be transmitted in response to the triggering event of block 404. When the application 201 receives the information, the application 201 may perform an operation based on the first configuration option, wherein the first configuration option may instruct the application 201 to mute the interrupt (e.g., mute an audio or visual notification or prevent the event from being further processed by the system process 202 within a threshold time period or geographic area). As disclosed, the information associated with the first configuration option may include an interrupt control mode identifier that may be used by the application 201 to identify a first configuration option associated with one or more of a plurality of configuration options for the interrupt control mode. It is contemplated herein that the interrupt control mode identifier may include a default identifier that facilitates restoring the interrupt control mode to a previous configuration. The default identifier may be received from the application 201.
[0031] Figure 5 A flowchart illustrating an example process associated with application-specific Do Not Disturb according to one or more specific implementations. For purposes of explanation, this document primarily refers to Figure 1 The process 500 is described with reference to the electronic device 102. However, the process 500 is not limited to Figure 1 The electronic device 102 of the present invention may be used, and one or more blocks (or operations) of the process 500 may be performed by one or more other components or other suitable devices. Further for the purpose of explanation, the blocks of the process 500 are described herein as occurring sequentially or linearly. However, multiple blocks of the process 500 may occur in parallel. In addition, the blocks of the process 500 do not have to be performed in the order shown, or one or more blocks of the process 500 do not have to be performed or may be replaced by other operations.
[0032] At block 502, application 201 may transmit a template (also referred to herein as a "fillable form") associated with application 201 to system process 202. The template may include a plurality of configuration options for the application and may be displayed using configuration user interface 300. The template may include one or more default identifiers associated with an interrupt control mode, wherein the default identifier may restore application 201 to a previous configuration (e.g., a default configuration). System process 202 may store the template until triggered for display or transmission. Although templates are referred to herein, application programming interface (API) calls or other specific implementations may be used.
[0033] At block 504, application 201 may receive information indicating a selected configuration option (e.g., a first configuration option) from system process 202 when electronic device 102 operates in an interrupt control mode. As disclosed herein, there may be an interrupt control mode identifier associated with a plurality of configuration options for the interrupt control mode.
[0034] At block 506, application 201 may operate according to the information (e.g., the first configuration option) received in block 504. Based on the information, application 201 may transmit or execute instructions to disable features associated with application 201, update the configuration of application 201 to a user-selected configuration option associated with the information, or filter data associated with application 201.
[0035] It is contemplated that the system process 202 may receive information from the application 201 prior to displaying the configuration user interface 300, which may eliminate the need for the system process 202 to call back to the application 201 to obtain information that facilitates presenting the configuration user interface 300. Alternatively, in one or more specific implementations, there may be operations in which the system process 202 communicates a request to the application 201 when presenting the configuration user interface 300.
[0036] As described herein, aspects of the subject technology may include regulating interruptions associated with electronic device 102, such as allowing or denying use (e.g., display) of specific data. The present disclosure contemplates that, in some instances, the data may include state data, location-based data, calendar data, text messages, emails, voice data, audio data, video data, images, or other data. A system process (e.g., an operating system) of an electronic device may optionally fill in a configuration user interface associated with an interrupt control mode with default values or receive values from a user. Operations associated with the disclosed subject matter may occur on one device or may be distributed across many devices.
[0037] As described above, one aspect of the disclosed technology is to collect and use data from specific sources and legitimate sources for application-specific do not disturb configuration. The present disclosure contemplates that, in some instances, the collected data may include personal information data that uniquely identifies or can be used to identify a specific person. Such personal information data may include demographic data, location-based data, online identifiers, phone numbers, email addresses, home addresses, images, videos, audio data, data or records related to the user's health or fitness level (e.g., vital signs measurements, medication information, exercise information), date of birth, or any other personal information.
[0038] The present disclosure recognizes that the use of such personal information data in the present technology can be used to benefit users. For example, personal information data can be used for application-specific do not disturb configurations. Therefore, the use of such personal information data can facilitate transaction processing (e.g., online transaction processing). In addition, the present disclosure also contemplates other uses of personal information data that benefit users. For example, health and fitness data can be used according to user preferences to provide insights into their overall health status, or can be used as positive feedback to individuals who use technology to pursue health goals.
[0039] The disclosure envisions that entities responsible for collecting, analyzing, disclosing, transferring, storing or otherwise using such personal information data will comply with established privacy policies or privacy practices. Specifically, it is expected that such entities will implement and consistently apply privacy practices that are generally recognized as meeting or exceeding the industry or government requirements for maintaining user privacy. Such information about the use of personal data should be prominently accessible to users and should be updated as the collection or use of data changes. The user's personal information should be collected only for legal use. In addition, such collection / sharing should only occur after receiving user consent or other legal basis specified in applicable laws. Additionally, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data, and ensure that other entities with access to personal information data comply with their privacy policies and procedures. In addition, such entities can subject themselves to third-party assessments to prove that they comply with widely accepted privacy policies and practices. In addition, policies and practices should be adjusted for specific types of personal information data collected or accessed, and applied to applicable laws and standards, including specific considerations that are exclusive to jurisdictions that can be used to impose higher standards. For example, in the United States, the collection or access of certain health data may be governed by federal or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while health data in other countries may be subject to other regulations and policies and should be handled accordingly.
[0040] The present disclosure also contemplates a specific implementation in which a user selectively blocks the use of specific data (e.g., personal information data) or accesses specific data to implement the disclosed application-specific do not disturb configuration. The present disclosure contemplates that hardware elements or software elements may be provided to prevent or block access to such personal information data. For example, the technology of the present invention may be configured to allow a user to select configuration sub-options that "opt in" or "opt out" of participation in the collection of personal information data for interrupt control mode for a specific application or all applications. In addition to providing "opt in" and "opt out" options, the present disclosure also contemplates providing notifications related to access or use of personal information. For example, a user may be notified that their personal information data will be accessed when selecting an option associated with the configuration user interface and then reminded again at a later time.
[0041] Furthermore, it is the intent of the present disclosure that information associated with a user should be managed and processed in a manner that minimizes the risk of inadvertent or unauthorized access or use. Risk can be minimized by limiting data collection and data deletion once the data is no longer needed. Additionally, and where applicable, data de-identification can be used to protect the privacy of users. De-identification can be facilitated by removing identifiers, controlling the amount or specificity of stored data (e.g., collecting location data at a city level rather than an address level), controlling how data is stored (e.g., aggregating data across users), or other methods (such as differential privacy) where appropriate.
[0042] Thus, while the present disclosure broadly encompasses the use of information that may include personal information data to implement one or more of the various exemplary implementations, the present disclosure also contemplates that the various exemplary implementations may also be implemented without requiring access to such personal information data. The various exemplary implementations of the present technology will not be rendered inoperable due to the lack of all or a portion of the personal information data.
[0043] Figure 6 An electronic system 600 is illustrated that can be utilized to implement one or more implementations of the subject technology. The electronic system 600 may be Figure 1 One or more electronic devices (e.g., electronic device 102, electronic device 104, or electronic device 108) of the various electronic devices shown or server 120, or may be a part thereof. Electronic system 600 may include various types of computer-readable media and interfaces for various other types of computer-readable media. Electronic system 600 includes bus 608, one or more processing units 612, system memory 604 (or cache), ROM 610, permanent storage device 602, input device interface 614, output device interface 606, and one or more network interfaces 616, or subsets and variants thereof.
[0044] The bus 608 generally represents all system buses, peripheral busses, and chipset buses that communicatively connect the many internal devices of the electronic system 600. In one or more implementations, the bus 608 communicatively connects one or more processing units 612 with the ROM 610, the system memory 604, and the permanent storage device 602. The one or more processing units 612 retrieve instructions to be executed and data to be processed from these various memory units in order to perform the processes disclosed in the present subject matter. In different implementations, the one or more processing units 612 can be a single processor or a multi-core processor.
[0045] ROM 610 stores static data and instructions required by one or more processing units 612 and other modules of electronic system 600. On the other hand, permanent storage device 602 can be a read-write memory device. Permanent storage device 602 can be a non-volatile memory unit that stores instructions and data even when electronic system 600 is turned off. In one or more specific implementations, a mass storage device (such as a magnetic disk or optical disk and its corresponding disk drive) can be used as permanent storage device 602.
[0046] In one or more implementations, a removable storage device (such as a floppy disk, a flash drive, and its corresponding disk drive) may be used as the permanent storage device 602. Like the permanent storage device 602, the system memory 604 may be a read-write memory device. However, unlike the permanent storage device 602, the system memory 604 may be a volatile read-write memory, such as a random access memory. The system memory 604 may store any of the instructions and data that may be required by one or more processing units 612 at runtime. In one or more implementations, the processes disclosed in the subject matter are stored in the system memory 604, the permanent storage device 602, or the ROM 610. The one or more processing units 612 retrieve instructions to be executed and data to be processed from these various memory units in order to perform the processes of one or more implementations.
[0047] The bus 608 is also connected to an input device interface 614 and an output device interface 606. The input device interface 614 enables a user to convey information to the electronic system 600 and select commands. Input devices that can be used with the input device interface 614 may include, for example, an alphanumeric keyboard and a pointing device (also referred to as a "cursor control device"). The output device interface 606 may, for example, enable the display of images generated by the electronic system 600. Output devices that can be used with the output device interface 606 may include, for example, a printer and a display device, such as a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a flexible display, a flat panel display, a solid-state display, a projector, or any other device for outputting information. One or more specific implementations may include a device that is used as both an input device and an output device, such as a touch screen. In these specific implementations, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including acoustic, voice, or tactile input.
[0048] Finally, if Figure 6 As shown, bus 608 also couples electronic system 600 to one or more networks or to one or more network nodes, such as Figure 1Server 120 is shown. In this manner, electronic system 600 can be part of a computer network such as a LAN, a wide area network ("WAN"), or an intranet, or can be part of a network among networks such as the Internet. Any or all components of electronic system 600 can be used with the subject disclosure.
[0049] According to various aspects of the present disclosure, a method is provided, the method comprising: storing information associated with a first configuration option among a plurality of configuration options for an interrupt control mode; receiving an indication of a trigger event for the interrupt control mode; and in response to the indication of the trigger event, transmitting the information associated with the first configuration option to an application. The method may include: displaying a user interface based at least on a template associated with the application, the template associated with the application including the plurality of configuration options for the interrupt control mode. The method may include: receiving the template from the application.
[0050] According to various aspects of the present disclosure, a non-transitory machine-readable medium storing instructions is provided, which, when executed by one or more processors, causes the one or more processors to perform operations, including: storing information associated with a first configuration option among a plurality of configuration options for an interrupt control mode; receiving an indication of a trigger event for the interrupt control mode; and in response to the indication of the trigger event, transmitting the information associated with the first configuration option to an application. The operation may include: displaying a user interface based at least on a template associated with the application, the template associated with the application including the plurality of configuration options for the interrupt control mode. The operation may include: receiving the template from the application.
[0051] According to various aspects of the present disclosure, a method is provided, the method comprising: transmitting, by an application process, a template associated with an application to a system process, the template comprising a plurality of configuration options for the application; receiving, by the application process and from the system process, information indicating a selected configuration option from the plurality of configuration options, the receiving being performed when the device is operating in an interrupt control mode; and in response to receiving the information, operating by the application process according to the selected configuration option. The method may include: transmitting to the system process a default identifier associated with the interrupt control mode; subsequently receiving the default identifier from the system process; and in response to receiving the default identifier, restoring a previous configuration associated with the application.
[0052] According to various aspects of the present disclosure, a non-transitory machine-readable medium storing instructions is provided, which, when executed by one or more processors, causes the one or more processors to perform operations, the operations including: transmitting, by an application process, a template associated with an application to a system process, the template including a plurality of configuration options for the application; receiving, by the application process and from the system process, information indicating a selected configuration option among the plurality of configuration options, the receiving being performed when the device is operating in an interrupt control mode; and in response to receiving the information, operating by the application process according to the selected configuration option. The operations may include: transmitting a default identifier associated with the interrupt control mode to the system process; subsequently receiving the default identifier from the system process; and in response to receiving the default identifier, restoring a previous configuration associated with the application.
[0053] Implementations within the scope of the present disclosure may be implemented in part or in whole using a tangible computer-readable storage medium (or multiple tangible computer-readable storage media of one or more types) programmed with one or more instructions. Tangible computer-readable storage media may also be non-transitory in nature.
[0054] Computer-readable storage media can be any storage media that can be read, written, or otherwise accessed by a general or special computing device, including any processing electronics or processing circuitry capable of executing instructions. For example, without limitation, computer-readable media can include any volatile semiconductor memory, such as RAM, DRAM, SRAM, T-RAM, Z-RAM, and TTRAM. Computer-readable media can also include any non-volatile semiconductor memory, such as ROM, PROM, EPROM, EEPROM, NVRAM, flash memory, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, racetrack memory, FJG, and Millipede memory.
[0055] Furthermore, the computer-readable storage medium may include any non-semiconductor memory, such as optical disk storage, magnetic disk storage, magnetic tape, other magnetic storage devices, or any other medium capable of storing one or more instructions. In one or more implementations, the tangible computer-readable storage medium may be directly coupled to the computing device, while in other implementations, the tangible computer-readable storage medium may be indirectly coupled to the computing device, for example, via one or more wired connections, one or more wireless connections, or any combination thereof.
[0056] Instructions can be directly executable, or can be used to develop executable instructions. For example, instructions can be implemented as executable or non-executable machine code, or can be implemented as high-level language instructions that can be compiled to produce executable or non-executable machine code. In addition, instructions can also be implemented as data, or can include data. Computer executable instructions can also be organized in any format, including routines, subroutines, programs, data structures, objects, modules, applications, applets, functions, etc. As recognized by those skilled in the art, the details including but not limited to the number, structure, sequence and organization of instructions can be significantly different without changing the underlying logic, function, processing and output.
[0057] Although the above discussion mainly involves microprocessors or multi-core processors that execute software, one or more implementations are performed by one or more integrated circuits such as ASICs or FPGAs. In one or more implementations, such integrated circuits execute instructions stored on the circuits themselves.
[0058] Those skilled in the art will recognize that the various illustrative frames, modules, elements, parts, methods and algorithms described herein can be implemented as electronic hardware, computer software or a combination of the two. In order to illustrate this interchangeability of hardware and software, various illustrative frames, modules, elements, parts, methods and algorithms have been generally described above according to functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the entire system. The technician can implement the described functionality in different ways for each specific application. Various parts and frames can be arranged differently (e.g., arranged in different orders, or divided in different ways) without departing from the scope of the subject technology.
[0059] It should be understood that the specific order or the hierarchical structure of the frame in the disclosed process are examples of the exemplary method. Based on design preference, it should be understood that the specific order or the hierarchical structure of the frame in the process can be rearranged or all the illustrated frames are executed. Any frame in these frames can be executed simultaneously. In one or more specific implementations, multitasking and parallel processing may be advantageous. In addition, the division of various system components in the above-mentioned specific implementation should not be understood as requiring such division in all specific implementations, and it should be understood that program components and system can be generally integrated together in a single software product or encapsulated in a plurality of software products.
[0060] As used in this specification and any claims of this patent application, the terms "base station", "receiver", "computer", "server", "processor" and "memory" all refer to electronic devices or other technical devices. These terms exclude people or groups of people. For the purpose of this specification, the term "display" or "displaying" means displaying on an electronic device.
[0061] As used herein, the phrase "at least one of" following a list of items, any of which is separated by the terms "and" or "or", modifies the list as a whole, rather than each member (i.e., each item) of the list. The phrase "at least one of" does not require selection of at least one of each item listed; rather, the phrase allows for a meaning that includes at least one of any one item, at least one combination of any combination of items, or at least one of each of the items. By way of example, the phrases "at least one of A, B, and C" or "at least one of A, B, or C" each refer to only A, only B, or only C; any combination of A, B, and C; or at least one of each of A, B, and C.
[0062] The predicate words "configured to," "operable to," and "programmed to" do not imply any specific tangible or intangible modification of a subject matter but are intended to be used interchangeably. In one or more specific implementations, a processor configured to monitor and control an operation or component may also mean that the processor is programmed to monitor and control the operation or that the processor is operable to monitor and control the operation. Similarly, a processor configured to execute code may be interpreted as a processor programmed to execute code or operable to execute code.
[0063] Phrases such as aspect, this aspect, another aspect, some aspects, one or more aspects, a specific implementation, this specific implementation, another specific implementation, some specific implementations, one or more specific implementations, an embodiment, this embodiment, another embodiment, some embodiments, one or more embodiments, configuration, this configuration, other configurations, some configurations, one or more configurations, subject technology, disclosure, the present disclosure, other variations thereof, and the like are for convenience and do not mean that disclosures involving such phrases are essential to the subject technology, nor do they mean that such disclosures apply to all configurations of the subject technology. Disclosures involving such one or more phrases may apply to all configurations or one or more configurations. Disclosures involving such one or more phrases may provide one or more examples. Phrases such as aspect or some aspects may refer to one or more aspects and vice versa, and this applies similarly to the other aforementioned phrases.
[0064] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any implementation described herein as "exemplary" or as an "example" is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, to the extent that the terms "including," "having," and the like are used in the specification or claims, such terms are intended to be inclusive, in a manner similar to the way the term "comprising" is interpreted when used as a transitional word in a claim.
[0065] All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later become known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be covered by the claims. In addition, nothing disclosed herein is intended to be made available to the public regardless of whether such disclosure is explicitly stated in the claims. No claim element shall be interpreted under the provisions of 35 U.S.C. §112(f) unless the element is explicitly stated using the phrase “means for…” or, in the case of a method claim, the element is stated using the phrase “step for…”
[0066] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects are apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects. Therefore, the claims are not intended to be limited to the aspects shown herein, but are intended to make the full scope consistent with the language claims, wherein the reference to the singular element is not intended to mean "only one", but to refer to "one or more", unless specifically noted. Unless otherwise specifically stated, the term "some" refers to one or more. Male pronouns (e.g., his) include female and neutral (e.g., her and its), and vice versa. Titles and subtitles (if any) are used only for convenience and do not limit the subject disclosure.
Claims
1. A device comprising: processor; and A memory, the memory being coupled to the processor, the memory storing executable instructions, the executable instructions causing the device to implement operations when executed by the processor, the operations comprising: storing information associated with a first configuration option of a plurality of configuration options for an interrupt control mode; receiving an indication of a triggering event for the interrupt control mode; and In response to the indication of the triggering event, the information associated with the first configuration option is sent to an application.
2. The apparatus of claim 1, wherein the operations further comprise: A user interface is displayed based at least on a template associated with the application, the template associated with the application including the plurality of configuration options for the interruption control mode.
3. The apparatus of claim 2, wherein the operations further comprise: A selection of the first of the plurality of configuration options for the interrupt control mode is captured through the displayed user interface.
4. The apparatus of claim 2, wherein the operations further comprise: The template is received from the application.
5. The apparatus of claim 1, the operations further comprising: In response to sending the information associated with the first configuration option to the application, an indication is received to mute notifications associated with the application.
6. The apparatus of claim 1, wherein the information comprises an interrupt control mode identifier for identifying the first configuration option associated with one or more of the plurality of configuration options for the interrupt control mode.
7. The apparatus of claim 6, the operations further comprising: receiving a default identifier associated with the interrupt control mode associated with the application, wherein the interrupt control mode identifier includes the default identifier; receiving an indication to deactivate the interrupt control mode associated with the application; as well as In response to the indication of the deactivation, the default identifier is sent to the application to restore a previous configuration.
8. A method comprising: storing, by a device, information associated with a first configuration option of a plurality of configuration options for an interrupt control mode; receiving an indication of a triggering event for the interrupt control mode; as well as In response to the indication of the triggering event, the information associated with the first configuration option is sent to an application.
9. The method according to claim 8, further comprising: A user interface is displayed based at least on a template associated with the application, the template associated with the application including the plurality of configuration options for the interruption control mode.
10. The method according to claim 9, further comprising: A selection of the first of the plurality of configuration options for the interrupt control mode is captured through the displayed user interface.
11. The method according to claim 9, further comprising: The template is received from the application.
12. The method according to claim 8, further comprising: In response to sending the information associated with the first configuration option to the application, an indication is received to mute notifications associated with the application.
13. The method of claim 8, wherein the information comprises an interrupt control mode identifier associated with one or more of the plurality of configuration options for the interrupt control mode.
14. The method according to claim 13, further comprising: receiving a default identifier associated with the interrupt control mode associated with the application, wherein the interrupt control mode identifier includes the default identifier; receiving an indication to deactivate the interrupt control mode associated with the application; as well as In response to the indication of the deactivation, the default identifier is sent to the application to restore a previous configuration.
15. A computer-readable storage medium storing computer-executable instructions, which when executed by a device cause the device to perform operations comprising: Sending, by the application process, a template associated with the application to the system process, the template comprising a plurality of configuration options for the application; receiving, by the application process from the system process, information indicating a selected configuration option from the plurality of configuration options, the receiving being performed while the device is operating in an interrupt control mode; as well as In response to receiving the information, the application process operates according to the selected configuration option.
16. The computer-readable storage medium of claim 15, the operations further comprising: sending a default identifier associated with the interrupt control mode to the system process; subsequently receiving the default identifier from the system process; as well as In response to receiving the default identifier, a previous configuration associated with the application is restored.
17. The computer-readable storage medium of claim 15, wherein the information comprises an interrupt control mode identifier associated with the plurality of configuration options for the interrupt control mode.
18. The computer-readable storage medium of claim 15, wherein performing the operation according to the selected configuration option further comprises: Disable features associated with the application.
19. The computer-readable storage medium of claim 15, wherein performing the operation according to the selected configuration option further comprises: The configuration of the application is updated to user-selected configuration options associated with the information.
20. The computer-readable storage medium of claim 15, wherein performing the operation according to the selected configuration option further comprises: Filters data associated with the application.