Application-specific interference prevention configuration

The system process in electronic devices manages interrupt control modes by storing user-defined configurations, addressing the challenge of application-specific interruptions and enhancing user experience by reducing distractions.

JP7884088B2Active Publication Date: 2026-07-02APPLE INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
APPLE INC
Filing Date
2023-05-30
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Electronic devices face challenges in managing application-specific interruptions effectively, leading to user distraction and inefficiency, as existing systems lack tailored configurations for interrupt control modes.

Method used

A system process stores interrupt control mode identifiers for user-selected configurations, allowing applications to operate according to personalized settings, such as hiding certain interface aspects or muting notifications based on predefined triggers.

Benefits of technology

Enables application-specific interference prevention by allowing users to customize notification settings, enhancing user experience by reducing distractions and improving productivity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007884088000001
    Figure 0007884088000001
  • Figure 0007884088000002
    Figure 0007884088000002
  • Figure 0007884088000003
    Figure 0007884088000003
Patent Text Reader

Abstract

The present disclosure provides a system and method for an application-specific interference prohibition configuration for an electronic device. For example, a system process can store a set of interrupt control mode identifiers for user-selected configuration options associated with an application. When the device operates in an interrupt control mode such as an interference prohibition mode, the system process can provide the set of interrupt control mode identifiers to the application to facilitate the operation of the application according to the user-selected configuration options.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0008] ,

[0006] , , , , , , , , [Figure 3] ,

[0007]

[0001] (Cross - Reference to Related Applications) This application claims the benefit of priority of U.S. Provisional Patent Application No. 63 / 349,028, filed on June 3, 2022, entitled "Application - Specific Do Not Disturb Configuration", the disclosure of which is incorporated herein in its entirety. 〔Technical Field〕 ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​This is a flowchart illustrating an exemplary process related to application-specific interference prevention, using one or more implementations.

[0009] [Figure 5] This is a flowchart illustrating an exemplary process related to application-specific interference prevention, using one or more implementations.

[0010] [Figure 6] This figure shows examples of electronic systems in which an aspect of the subject technology can be realized through one or more implementation forms. [Modes for carrying out the invention]

[0011] The detailed description below is intended to describe various configurations of the present technology and is not intended to represent only one configuration in which the present technology can be implemented. The accompanying drawings are incorporated herein and constitute part of the detailed description. The detailed description includes certain details to provide a complete understanding of the subject technology. However, the present technology is not limited to the specific details shown herein and can be implemented using one or more other implementations. In one or more implementations, the structure and components are shown in block diagram form to avoid obscuring the concepts of the present technology.

[0012] Electronic devices such as personal computers (e.g., desktop and laptop computers), portable electronic devices (e.g., tablet computers and smartphones), and wearable devices (e.g., smartwatches) often include applications that receive and process data that may be generated locally or via a network from another electronic device or server. For example, an electronic device may include a messaging application that receives and processes electronic messages (e.g., text, images, video content, audio content, or other objects). A user of the electronic device can send a message to a remote electronic device of a contact, and the remote electronic device receives a notification when the message is received. In another example, an application may automatically send notifications based on information such as location, date, time, the user's heart rate, another user's social media posts, or other triggers. Such notifications may be desired by the user from time to time, but can also be distracting. Therefore, an electronic device may operate in one or more interrupt control modes that allow the user to be deferred from certain types of notifications from one or more applications. When in interrupt control mode, interrupts from an application (e.g., events or notifications) can be muted based on the received filter indicators (e.g., filterCriteria and predicates) associated with each interrupt from the application.

[0013] According to one or more implementations of the subject technology, a system process can store a set of interrupt control mode identifiers for user-selected configuration options associated with an application. When a device operates in an interrupt control mode, such as a no-interference mode, the system process can provide the application with a set of interrupt control mode identifiers to facilitate the application's operation according to user-selected configuration options. The set of interrupt control mode identifiers can be used by the application to configure the user interface of the application provided for display to the user. For example, certain aspects of the user interface may be hidden in certain interrupt control modes, such as an email application that hides the display of personal email while in work mode. The disclosed subject can enable a private and simplified architecture for providing application-specific configurations for one or more interrupt control modes, and the configurations can be tailored to a subset of applications (e.g., work email versus personal email notifications).

[0014] Figure 1 shows an example 100 of a network environment including various devices in one or more implementations. However, not all of the depicted components are used in all implementations, and one or more implementations may include additional or different components than those shown in the figure. Variations in the configuration and type of components can be made without departing from the spirit or scope of the claims set forth herein. Additional, different, or fewer components may be provided.

[0015] The network environment 100 includes electronic device 102, electronic device 104, electronic device 108, network 106, or one or more servers 120 that are communicatively coupled to network 106. Network 106 may include a portion of a public network such as the Internet. Network 106 may include local area network (LAN) components such as a Wi-Fi router or Ethernet connection that are local to each of electronic devices 102 or 104, connecting the corresponding electronic devices to the broader Internet. The LAN connecting electronic devices 102, 104, or 108 to the Internet may include one or more different network devices or network media, or may utilize one or more different wireless or wired network technologies such as Ethernet, optical, Wi-Fi, Bluetooth, Zigbee, power line over Ethernet, coaxial, Z-Wave, or any wireless or wired network technology that can communicatively connect electronic devices to the Internet. The portion of network 106 includes a cellular communication network with one or more base transceivers at fixed locations within each of several geographical “cells,” the base transceivers communicating wirelessly with end devices such as electronic device 102, electronic device 104, or electronic device 108, and communicating via wired or satellite communications with various switching networks for voice calls and text messages, mobile data, and public telephones.

[0016] Electronic devices 102, 104, or 108 can send or receive messages, such as text messages, multimedia messages, social media messages, or other network data, to or from each other or to other electronic devices, directly or via the network 106. Electronic devices 102, 104, or 108 may process received or generated messages and determine whether to provide notifications (e.g., visual or audio notifications). Electronic devices 102, 104, or 108 may also receive messages or other network data from or through one or more servers, such as server 120. In one or more implementations, network data exchanged between electronic devices 102, 104, or 108 may include links or other references to other data available via the network 106, such as from one or more servers 120.

[0017] One or more of electronic devices 102, 104, or 108 may be, for example, a portable computing device such as a laptop computer, a smartphone, 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 smartwatch or band), or any other suitable device that includes one or more wired or wireless interfaces such as a Wi-Fi communication circuit, a cellular communication circuit, a Bluetooth communication circuit, a Zigbee communication circuit, a near-field communication (NFC) communication circuit, or other wired or wireless communication circuits, or that is communicably coupled to them and may be provided with software or hardware for transmitting or receiving network data such as electronic messages.

[0018] For example, in Figure 1, each of electronic devices 102, 104, or 108 is shown as a smartphone. In one or more implementations, one or more electronic devices (e.g., electronic device 102, electronic device 104, or electronic device 108) may be, or include, a smart TV, a laptop, or a mobile device (e.g., a smartphone or smartwatch). In one or more implementations, one or more of the electronic devices may be integrated into their corresponding display device. One or more of the electronic devices may be, or include, all or part of an electronic system, as described later with reference to Figure 6.

[0019] Electronic devices 102, 104, or 108 may include a processor, memory, a communication interface, or other electronic components. The processor may include suitable logic, circuitry, and / or code that enables processing data and / or control of the device's operation. In this regard, the processor may also enable supplying control signals to various other components of the device. The processor may also control data transfer between various parts of the device. In addition, the processor may enable the implementation of an operating system (e.g., a system processor 202) or otherwise execute code to manage the device's operation. Memory may include suitable logic, circuitry, or code that enables the storage of various types of information, such as received data, generated data, code, or configured information. Memory may include, for example, random access memory (RAM), read-only memory (ROM), flash memory, or magnetic storage devices. In one or more implementations, one or more of the processor, memory, communication interface, or one or more of these may be implemented in software (e.g., subroutines and code), in hardware (e.g., an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Programmable Logic Device (PLD), a controller, a state machine, gate logic, discrete hardware components, or any other suitable device), or a combination of both.

[0020] One or more of the servers 120 may be, or may include all or part of, an electronic system described below with reference to FIG. 6. Each of the servers 120 may include one or more servers such as a server cloud 130. For purposes of illustration, two servers are shown and described with respect to various operations for providing network data to the electronic device 102, the electronic device 104, or the electronic device 108, or between them. However, these operations and other operations described herein may be performed by one or more servers, and each different operation may be performed by the same server or different servers.

[0021] For purposes of explanation, the network environment 100 is shown in FIG. 1 as including the electronic device 102, the electronic device 104, or the electronic device 108, and the server 120. However, the network environment 100 can include any number of electronic devices and any number of servers.

[0022] FIG. 2 is a diagram showing various aspects of an electronic device according to an aspect of the present disclosure. In the example of FIG. 2, the electronic device 102 includes an application 201 (e.g., stored in the device's memory and executable by one or more processors of the device) or a system process 202. The application 201 can receive network data (e.g., from another electronic device such as the electronic device 104 via the network 106, or from the system process 202). For example, the network data may include a message from the electronic device 104 or server data (e.g., a push notification, web content of a web page, social media content, or other server data provided to the server 120 by a contact of the electronic device 102 obtained by the electronic device 102). The network data may include content such as text, images, emojis, videos, audio, etc. (e.g., message content).

[0023] As disclosed in more detail herein, a system process 202 may be communicatively connected to an application 201, such as through inter-process communication and / or one or more application programming interface (API) calls. The system process 202 may receive information (e.g., configuration information) from and send information to the application 201. In one or more implementations, it is intended that the system process 202 may not have a semantic understanding of the information received from or sent to the application 201 (e.g., the application configuration may be opaque to the operating system, which may support privacy). In addition, the application may not be explicitly aware that the device is in interrupt control mode (e.g., the operating system configuration may be opaque to the application).

[0024] Figure 3 shows an exemplary image of the configuration user interface 300. The configuration user interface 300 may include multiple configuration options within a template (also referred to herein as a fillable form). The multiple configuration options may include application ("app") option 301, app option 302, or app option 303, which can be selected by the user. The configuration options can facilitate interrupt control modes for the electronic device 102. In one example, when a configuration option is selected, a system process can store information related to one or more configuration options for an interrupt control mode (e.g., no interruption (DND)) and respond to a predetermined trigger. Exemplary application configuration options may include hiding one or more aspects of the application's user interface (e.g., hiding a chat window in work mode), controlling notifications within the application, and controlling data exposed by the application (e.g., work email versus personal email). The disclosed subject matter enables, among other things, application-specific feature granularity for interrupt control modes in one or more applications such as email applications (e.g., a subset of email, i.e., based on work versus personal), calendar applications (e.g., a subset of calendars, i.e., work versus personal), messaging applications, or social media applications.

[0025] FIG. 4 is a flowchart of an exemplary process related to application-specific interference prohibition according to one or more implementations. For purposes of explanation, process 400 will be mainly described herein with reference to the electronic device 102 of FIG. 1. However, process 400 is not limited to the electronic device 102 of FIG. 1, and one or more blocks (or operations) of process 400 may be performed by one or more other components or other suitable devices. Further, for purposes of explanation, the blocks of process 400 are described herein as occurring sequentially or linearly. However, multiple blocks of process 400 may occur in parallel. In addition, the blocks of process 400 need not be executed in the order shown, or one or more blocks of process 400 may not be executed, or may be replaced by other operations.

[0026] In block 402, the system process 202 in the electronic device 102 of the first user (e.g., an electronic device registered to or signed in to the first user's account) may store information associated with a first configuration option (e.g., app option 301) among a plurality of configuration options associated with the interrupt control mode. Before storing the first configuration option, the configuration user interface 300 may be presented on the display of the electronic device 102. The configuration user interface 300 may be based on a template. In one or more implementations, the template may be received from the application 201 by the system process 202. The template can be designed to correspond to a specific operation (e.g., notification) of the application 201.

[0027] Storing information associated with a first configuration option may include storing a set of interrupt control mode identifiers for the application's user-selected configuration options (for example, the identifier may be an alphanumeric sequence that is not semantically understood by the system process 202) without receiving or storing user-selected configuration options (for example, text that explains the option to the user). In one example, the first configuration option may be a user-selected configuration option associated with application 201. The first configuration option may be associated with delaying or allowing notification of functionality of application 201 when a threshold period is reached, a threshold location is reached, or other triggers occur.

[0028] In block 404, an indication of a trigger event for an interrupt control mode may be received by a system process 202 or application 201. The trigger event may be based, among other things, on a period, location, or use of a second application on the electronic device 104. Exemplary use of the second application may include a video conferencing application, an exercise application, or a voice call. It is also intended 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.

[0029] In block 406, information associated with a first configuration option may be sent to application 201. This information may be provided without informing the application of the interrupt control mode. The information may be sent in response to a trigger event in block 404. Upon receiving the information, application 201 may perform an action based on the first configuration option, which may indicate that application 201 will mute the interrupt (e.g., mute audio or visual notifications, or prevent the event from being further processed by system process 202 for a threshold period or geographic area). As disclosed, the information associated with a first configuration option may include an interrupt control mode identifier that can be used by application 201 to identify the first configuration option associated with one or more of a plurality of configuration options for the interrupt control mode. In this specification, the interrupt control mode identifier is intended to include a default identifier that facilitates the restoration of the interrupt control mode to a previous configuration. The default identifier may be received from application 201.

[0030] Figure 5 is a flowchart illustrating an exemplary process related to application-specific interference prevention in one or more implementation configurations. For illustrative purposes, process 500 is described herein primarily with reference to the electronic device 102 in Figure 1. However, process 500 is not limited to the electronic device 102 in Figure 1, and one or more blocks (or operations) of process 500 may be performed by one or more other components or other suitable devices. Furthermore, for illustrative purposes, blocks of process 500 are described herein as occurring sequentially or linearly. However, multiple blocks of process 500 may occur in parallel. In addition, blocks of process 500 do not need to be executed in the illustrated order, and / or one or more blocks of process 500 may not be executed and / or may be replaced by other operations.

[0031] In block 502, application 201 can send a template (also referred to herein as a fillable form) associated with application 201 to system process 202. The template may include multiple configuration options for the application and may be displayed using the configuration user interface 300. The template may include one or more default identifiers associated with interrupt control modes, which may restore application 201 to a previous configuration (e.g., default configuration). System process 202 may store the template until triggered to display or send it. While templates are referred to herein, application programming interface (API) calls or other implementation forms may be used.

[0032] In block 504, application 201 may receive from system process 202 information indicating a selected configuration option (e.g., a first configuration option) from among several configuration options while the electronic device 102 is operating in interrupt control mode. As disclosed herein, there may be interrupt control mode identifiers associated with multiple configuration options for interrupt control mode.

[0033] In block 506, application 201 may operate according to information received in block 504 (e.g., a first configuration option). Based on the information, application 201 may send or execute instructions to disable features associated with application 201, instructions to update the configuration of application 201 to user-selected configuration options associated with the information, or instructions to filter data associated with application 201.

[0034] The system process 202 can receive information from application 201 before displaying the configuration user interface 300, thereby eliminating the need for the system process 202 to call back application 201 to obtain information that would facilitate rendering the configuration user interface 300. Alternatively, in one or more implementations, the system process 202 may send requests to application 201 as the configuration user interface 300 is rendered.

[0035] As described herein, aspects of the subject art may include regulating interrupts associated with the electronic device 102, such as allowing or denying the use (e.g., display) of certain data. The disclosure intends that, in some cases, this data may include status data, location-based data, calendar data, text messages, emails, voice data, audio data, video data, images, or other data. The system process of the electronic device (e.g., the operating system) may optionally populate a configuration user interface associated with the interrupt control mode with a default value, or receive a value from the user. The operations associated with the disclosed subject may be performed on a single device or distributed across many devices.

[0036] As stated above, one aspect of the disclosed technology is, for example, the collection and use of data available from specific and legitimate sources for application-specific anti-interference configurations. The disclosure assumes that, in some cases, such collected data may include personal data that uniquely identifies or can be used to identify a particular person. Such personal data may include demographic data, location-based data, online identifiers, telephone numbers, email addresses, home addresses, images, video, audio data, data or records relating to a user's health or fitness level (e.g., vital signs measurements, medication information, exercise information), date of birth, or any other personal information.

[0037] This disclosure acknowledges that the use of such personal data in the technology may be for the benefit of the user. For example, personal data can be used in application-specific anti-interference configurations. Thus, the use of such personal data can facilitate transactions (e.g., online transactions). Furthermore, other uses of personal data that benefit the user are also intended by this disclosure. For example, health and fitness data can be used, according to the user's preferences, to provide general wellness insights or as positive feedback to individuals using the technology to pursue wellness goals.

[0038] This disclosure assumes that entities responsible for collecting, analyzing, disclosing, transferring, storing, or otherwise using such personal data will adhere to well-established privacy policies or privacy practices. Specifically, such entities are expected to implement and consistently apply privacy practices that are generally recognized as meeting or exceeding industry or government requirements for maintaining user privacy. Such information regarding the use of personal data should be conspicuously and readily accessible to users and should be updated as data collection or use changes. Personal data from users should be collected only for legitimate use. Furthermore, such collection / sharing should be done after obtaining user consent or on other legitimate grounds specified in applicable law. In addition, such entities should consider taking all necessary steps to protect and secure access to such personal data and to ensure that others with access to personal data faithfully adhere to those privacy policies and procedures. Furthermore, such entities may undergo third-party evaluations to demonstrate their compliance with widely accepted privacy policies and practices. In addition, policies and practices should be tailored to the specific types of personal data being collected or accessed, and should conform to applicable laws and standards, including jurisdiction-specific considerations that may play a role in imposing higher standards. For example, in the United States, the collection or access to certain health data may be subject to federal or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA). Health data in other countries, on the other hand, may be subject to other regulations and policies and should be addressed accordingly.

[0039] This disclosure also envisions implementations that enable the disclosed application-specific interference prevention configurations by allowing users to selectively block the use of or access to certain data (e.g., personal data). This disclosure envisions that hardware or software elements may be provided to prevent or block access to such personal data. For example, this technology may be configured to allow users to choose to configure “opt-in” or “opt-out” sub-options for participation in the collection of personal data for interrupt control modes for specific applications or for all applications. In addition to providing “opt-in” and “opt-out” options, this disclosure intends to provide notice regarding access to or use of personal data. For example, when a user selects an option associated with a configuration user interface, they may be notified that their personal data will be accessed, and may be reminded of this some time later.

[0040] Furthermore, the intent of this disclosure is that information associated with users should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Risks can be minimized by limiting data collection and deleting data when it is no longer needed. In addition, and where applicable, user privacy can be protected by data de-identification. De-identification may be facilitated, where appropriate, by removing identifiers, controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data across all users), or by other means such as differential privacy.

[0041] Therefore, while this disclosure extensively involves using information (which may include personal data) to implement one or more exemplary implementations, this disclosure also intends that these exemplary implementations can also be implemented without requiring access to such personal data. The various exemplary implementations of the technology will not be rendered impossible by the absence of all or part of such personal data.

[0042] Figure 6 shows an electronic system 600 capable of realizing one or more implementations of the subject technology. The electronic system 600 may be one or more of the electronic devices shown in Figure 1 (e.g., electronic device 102, electronic device 104, or electronic device 108) or the server 120, or a part thereof. The electronic system 600 may include various types of computer-readable media and interfaces for various other types of computer-readable media. The electronic system 600 includes a bus 608, one or more processing units 612, system memory 604 (and / or buffers), ROM 610, permanent storage device 602, input device interface 614, output device interface 606, and one or more network interfaces 616, or subsets and variations thereof.

[0043] Bus 608 collectively represents all system, peripheral, and chipset buses that communicate with a number of internal devices of the electronic system 600. In one or more implementations, bus 608 communicates with one or more processing units 612 to the ROM 610, system memory 604, and permanent storage device 602. From these various memory units, one or more processing units 612 retrieve instructions to execute and data to process in order to perform the processes of this disclosure. One or more processing units 612 may be a single processor or a multi-core processor in different implementations.

[0044] The ROM 610 stores static data and instructions required by one or more processing units 612 and other modules of the electronic system 600. On the other hand, the permanent storage device 602 may be a read and write memory device. The permanent storage device 602 may also be a non-volatile memory unit that stores instructions and data even when the electronic system 600 is off. In one or more implementations, a mass storage device (such as a magnetic disk or optical disk and its corresponding disk drive) may be used as the permanent storage device 602.

[0045] In one or more implementations, a removable storage device (such as a floppy disk, flash drive, and corresponding disk drive) may be used as the permanent storage device 602. Similar to the permanent storage device 602, the system memory 604 may be a read-and-write memory device. However, unlike the permanent storage device 602, the system memory 604 may be a volatile read-and-write memory such as random-access memory. The system memory 604 can store any of the instructions and data that one or more processing units 612 may need at runtime. In one or more implementations, the process of the subject disclosure is stored in the system memory 604, the permanent storage device 602, or the ROM 610. From these various memory units, one or more processing units 612 retrieve the instructions to be executed and the data to be processed in order to execute the process of one or more implementations.

[0046] Bus 608 also connects to input and output device interfaces 614 and 606. The input device interface 614 allows the user to communicate information and select commands to the electronic system 600. Input devices that may 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 enable, for example, the display of images generated by the electronic system 600. Output devices that may be used with the output device interface 606 may include, for example, printers and display devices such as liquid crystal displays (LCDs), light-emitting diode (LED) displays, organic light-emitting diode (OLED) displays, flexible displays, flat panel displays, solid-state displays, projectors, or any other devices for outputting information. One or more implementations may include devices that function as both input and output devices, such as a touchscreen. In these 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 input, voice input, or tactile input.

[0047] As shown in Figure 6, the bus 608 also connects the electronic system 600 to one or more networks, or to one or more network nodes, such as the server 120 shown in Figure 1, via one or more network interfaces 616. In this way, the electronic system 600 can be part of a network in multiple networks, such as a computer network (LAN, wide area network ("WAN"), or intranet, or the Internet. Any or all components of the electronic system 600 can be used in conjunction with the disclosures of this application.

[0048] A part of the present disclosure provides a method which includes storing information associated with a first configuration option among a plurality of configuration options for an interrupt control mode; receiving indications of trigger events for an interrupt control mode; and, in response to the indications of trigger events, sending the information associated with the first configuration option to an application. The method further includes displaying a user interface based on at least a template associated with an application, the template associated with an application may include a plurality of configuration options for an interrupt control mode; and the method may include receiving a template from an application.

[0049] According to aspects of the present disclosure, a non-temporary machine-readable medium for storing instructions is provided, and when an instruction is executed by one or more processors, it causes one or more processors to perform an operation that includes 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 an interrupt control mode; and, in response to the indication of a trigger event, sending the information associated with the first configuration option to an application. The operation further includes displaying a user interface based on at least a template associated with the application, the template associated with the application may include a plurality of configuration options for an interrupt control mode; and the operation may include receiving a template from the application.

[0050] A part of the present disclosure provides a method which includes: an application process sending a template associated with an application to a system process, the template including a plurality of configuration options for the application; the application process receiving from the system process information indicating a selected configuration option from the plurality of configuration options, the receiving of which is while the device is operating in interrupt control mode; and, in response to receiving the information, the application process operating according to the selected configuration option. The method may also include sending a default identifier associated with interrupt control mode to the system process, then receiving the default identifier from the system process, and, in response to receiving the default identifier, restoring a previous configuration associated with the application.

[0051] According to aspects of the present disclosure, a non-temporary machine-readable medium for storing instructions is provided, and when an instruction is executed by one or more processors, the instructions cause one or more processors, by an application process, to perform an operation that includes: sending a template associated with an application, the template including a plurality of configuration options for the application; receiving information from the system process indicating a selected configuration option from the plurality of configuration options, the receiving of which occurs while the device is operating in interrupt control mode; and, in response to receiving the information, the application process operating according to the selected configuration option. The operation may include sending a default identifier associated with interrupt control mode to the system process, then 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] Implementations within the scope of this disclosure can be partially or completely realized using tangible computer-readable storage media (or multiple tangible computer-readable storage media of one or more types) that encode one or more instructions. The tangible computer-readable storage media may also be, in fact, non-transient.

[0053] A computer-readable storage medium can be any storage medium that can be read, written to, or otherwise accessed by a general-purpose or dedicated computing device, including any processing electronic equipment or processing circuit capable of executing instructions. For example, but not limited to, a computer-readable medium can include any volatile semiconductor memory such as RAM, DRAM, SRAM, T-RAM, Z-RAM, and TTRAM. A computer-readable medium can also include any non-volatile semiconductor memory such as ROM, PROM, EPROM, EEPROM, NVRAM, flash, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, Racetrack memory, FJG, and millipede memory.

[0054] Furthermore, the computer-readable storage medium may include any non-semiconductor memory, such as optical disk storage devices, magnetic disk storage devices, magnetic tapes, other magnetic storage devices, or other media capable of storing one or more instructions. In one or more implementations, the tangible computer-readable storage medium may be directly coupled to a computing device, while in other implementations, the tangible computer-readable storage medium may be indirectly coupled to a computing device, for example, via one or more wired connections, one or more wireless connections, or any combination thereof.

[0055] Instructions can be made directly executable or used to develop executable instructions. For example, instructions can be implemented as executable or non-executable machine code, or as instructions in a high-level language that can be compiled to produce executable or non-executable machine code. Furthermore, instructions can also be implemented as data or contain data. Computer executable instructions can also be structured in any format, including routines, subroutines, programs, data structures, objects, modules, applications, applets, functions, etc. As will be recognized by those skilled in the art, details including, but not limited to, the number, structure, order, and structuring of instructions can be changed considerably without altering the basic logic, function, processing, and output.

[0056] The above discussion primarily refers to microprocessors or multicore processors that run software, but one or more implementations are performed by one or more integrated circuits, such as ASICs or FPGAs (one or more). In one or more implementations, such integrated circuits execute instructions stored within the circuit itself.

[0057] Those skilled in the art will understand that the various exemplary blocks, modules, elements, components, methods, and algorithms described herein can be implemented as electronic hardware, computer software, or a combination of both. Above, to demonstrate this hardware-software compatibility, the various exemplary blocks, modules, elements, components, methods, and algorithms have been generally described in terms of their functionality. Whether such functionality is implemented in hardware or software depends on the design constraints imposed on the overall system and the specific application. Those skilled in the art will be able to perform the described functionality in various ways for each specific application. The various components and blocks may be arranged differently (for example, in a different order or divided in a different way) without departing entirely from the scope of the art of this application.

[0058] Any particular order or hierarchy of blocks in the disclosed process should be understood as an example of an exemplary approach. Based on design preferences, the order or hierarchy of blocks in the process may be rearranged, or all of the exemplary blocks may be executed. Any of the blocks may be executed simultaneously. Multitasking and parallel processing may be advantageous in one or more implementations. Furthermore, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations. The described program components and systems may be integrated into a single software product or packaged into multiple software products.

[0059] As used herein and in the claims, the terms “base station,” “receiver,” “computer,” “server,” “processor,” and “memory” all refer to electronic or other technical devices. These terms exclude persons or groups of persons. For the purposes of this specification, the terms “display” or “displaying” mean displaying on an electronic device.

[0060] When used herein, the phrase “at least one” preceding a set of items, along with the terms “and” or “or” separating any of the items, qualifies the list as a whole, rather than each element of the list (i.e., each item). The phrase “at least one” does not require the selection of at least one of each item listed; rather, it allows for the meaning of including at least one of any one of the items, at least one of any combination of the items, or at least one of each of the items. For example, the phrases “at least one of A, B, and C” or “at least one of A, B, or C” refer, respectively, to A only, B only, or C only, any combination of A, B, and C, or at least one of each of A, B, and C.

[0061] The predicates “configured to,” “operable to,” and “programmed to” are not intended to imply any specific tangible or intangible modification of the object, but rather to be interchangeable. In one or more implementations, a processor configured to monitor and control operations or components may also mean that the processor is programmed to monitor and control operations, or that the processor is operable to monitor and control operations. Similarly, a processor configured to execute code may be interpreted as a processor that is programmed to execute code, or operable to execute code.

[0062] The phrases "one aspect," "that aspect," "another aspect," "several aspects," "one or more aspects," "one implementation," "that implementation," "another implementation," "several implementations," "one or more implementations," "one embodiment," "that embodiment," "another embodiment," "several implementations," "one or more implementations," "one configuration," "that configuration," "another configuration," "several configurations," "one or more configurations," "the technology of the Application," "disclosure," "this disclosure," "other variations thereof," and similar phrases are for convenience only and do not imply that disclosures relating to such phrases (singular or plural) are essential to the technology of the Application or that such disclosures apply to all configurations of the technology of the Application. Disclosures relating to such phrases (singular or plural) may apply to all configurations or one or more configurations. Disclosures relating to such phrases (singular or plural) may provide one or more examples. Phrases such as "aspect" or "several aspects" may refer to one or more aspects, and vice versa, as with the other aforementioned phrases.

[0063] The word “exemplary” is used herein to mean “to serve as an example, case, or illustration.” Any embodiment described herein as “exemplary” or “example” should not necessarily be construed as being preferable or advantageous over other forms of implementation. Furthermore, to the extent that terms such as “include” and “have” are used in the specification or claims, such terms are intended to be comprehensive in the same manner as the term “comprise,” as “comprise” is construed as when “comprise” is used as a transitional term in the claims.

[0064] All structural and functional equivalents of the elements of various aspects described herein, whether known to those skilled in the art or to become known thereafter, are expressly incorporated herein by reference and are intended to be included in the claims. Furthermore, nothing disclosed herein is to be made public, whether such disclosure is expressly enumerated in the claims. No element of any claim should be construed under Section 112(f) of the United States Patent Act unless the element is expressly enumerated using the phrase “means for” or, in the case of a method claim, the element is enumerated using the phrase “step for”.

[0065] The foregoing description is provided to enable those skilled in the art to implement the various embodiments described herein. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein can also be applied to other embodiments. Therefore, the claims are not intended to limit themselves to the embodiments shown herein, but rather to encompass the entire scope consistent with the literal claims, and references to elements in the singular are not intended to mean "one and only one" unless otherwise noted, but rather "one or more." Unless otherwise noted, the term "some" refers to one or more things. Masculine pronouns (e.g., he) include feminine and neuter genders (e.g., she and her), and vice versa. Headings and subheadings, if any, are used for convenience only and do not limit the disclosure of this application.

Claims

1. It is a device, Processor and The device comprises a memory coupled to the processor, the memory storing executable instructions, and when the executable instructions are executed by the processor, the device A system process stores information associated with a first configuration option among a plurality of configuration options for an interrupt control mode, wherein the interrupt control mode is a no-interference mode corresponding to at least one configuration option for concealing one or more aspects of a user interface, controlling notifications within an application, or controlling data exposed by the application. The system process receives indication of a trigger event for the interrupt control mode, A device that, in response to the indication of the trigger event, causes the system process to perform an action including sending the information associated with the first configuration option to the application without notifying the application of the interrupt control mode.

2. The device according to claim 1, wherein the operation further includes displaying a user interface based on at least a template associated with the application, the template associated with the application includes the plurality of configuration options for the interrupt control mode.

3. The device according to claim 2, wherein the operation further includes capturing the selection of the first configuration option among the plurality of configuration options for the interrupt control mode by the displayed user interface.

4. The device according to claim 2, wherein the operation further includes receiving the template from the application.

5. The aforementioned operation is, The device according to claim 1, further comprising receiving an indication to mute notifications associated with the application in response to sending the information associated with the first configuration option to the application.

6. The device according to claim 1, wherein the information includes an interrupt control mode identifier, the interrupt control mode identifier is used to identify the first configuration option associated with one or more of the plurality of configuration options for the interrupt control mode.

7. The aforementioned operation is, The default identifier is associated with the interrupt control mode associated with the application, wherein the interrupt control mode identifier includes the default identifier, and the default identifier is received. Receiving an indication to deactivate the interrupt control mode associated with the application, The device according to claim 6, further comprising sending the default identifier to the application in order to restore the previous configuration in response to the deactivation indication.

8. It is a method, The system process of the device stores information associated with a first configuration option among a plurality of configuration options for an interrupt control mode, wherein the interrupt control mode is a no-interference mode corresponding to at least one configuration option for concealing one or more aspects of a user interface, controlling notifications within an application, or controlling data exposed by the application. The system process receives indication of a trigger event for the interrupt control mode, In response to the indication of the trigger event, the system process transmits the information associated with the first configuration option to the application without notifying the application of the interrupt control mode. Methods that include...

9. The method of claim 8, further comprising displaying a user interface based on at least a template associated with the application, wherein the template associated with the application includes the plurality of configuration options for the interrupt control mode.

10. The method according to claim 9, further comprising capturing the selection of the first configuration option from among the plurality of configuration options for the interrupt control mode by the displayed user interface.

11. The method according to claim 9, further comprising receiving the template from the application.

12. The method of claim 8, further comprising receiving an indication to mute notifications associated with the application in response to sending the information associated with the first configuration option to the application.

13. The method according to claim 8, wherein the information includes an interrupt control mode identifier associated with one or more of the plurality of configuration options for the interrupt control mode.

14. The default identifier is associated with the interrupt control mode associated with the application, wherein the interrupt control mode identifier includes the default identifier, and the default identifier is received. Receiving an indication to deactivate the interrupt control mode associated with the application, The method of claim 13, further comprising sending the default identifier to the application in order to restore the previous configuration in response to the deactivation indication.

15. A computer-readable storage medium for storing computer-executable instructions, wherein, when the computer-executable instructions are executed by the device, the device... The application process sends a template associated with the application to the system process, the template including multiple configuration options for the application. The application process receives from the system process information indicating a selected configuration option from among the plurality of configuration options, the receipt occurring while the device is operating in interrupt control mode, and without receiving the interrupt control mode, wherein the interrupt control mode is a no-interference mode corresponding to at least one configuration option for concealing one or more aspects of the user interface, controlling notifications within the application, or controlling data exposed by the application. A computer-readable storage medium that, upon receiving the aforementioned information, causes the application process to perform an operation including operating according to the selected configuration option.

16. The aforementioned operation is, Sending the default identifier associated with the interrupt control mode to the system process, Subsequently, the system process receives the default identifier, The computer-readable storage medium according to claim 15, further comprising restoring the previous configuration associated with the application in response to receiving the default identifier.

17. The computer-readable storage medium according to claim 15, wherein the information includes an interrupt control mode identifier associated with the plurality of configuration options for the interrupt control mode.

18. The computer-readable storage medium according to claim 15, wherein the operation according to the selected configuration option further includes disabling the features associated with the application.

19. The computer-readable storage medium according to claim 15, wherein the operation according to the selected configuration option further includes updating the configuration of the application to the user-selected configuration option associated with the information.

20. The computer-readable storage medium according to claim 15, wherein the operation according to the selected configuration option further includes filtering data associated with the application.