With the rapid development in communications technology, mobile devices have become an integral part of many people's lives given the portability and the growing number of applications available on mobile devices. Today, individuals can perform a wide range of functions such as playing music, viewing photos, etc. via mobile devices. There is an ever-increasing desire to increase the functionality and efficiency of mobile devices.
Briefly described, one embodiment, among others, is a handheld computing device that comprises a plurality of controls for controlling operation of the handheld computing device, a processor, and an application executable in the processor. The application comprises logic that receives an indication of a notification sent from a communication device and logic that provides a user interface on a display of the handheld computing device responsive to receiving the indication, wherein the user interface comprises a plurality of items each corresponding to a respective action for handling the notification, wherein each of the plurality of items is assigned to a respective control of the handheld computing device for invoking the respective action. The application further comprises logic that receives a selection of one of the items.
Another embodiment is a method implemented in a handheld computing device for handling a notification from a communication device. The method comprises receiving, by the handheld computing device, an indication of a notification sent from a communication device and providing, by the handheld computing device responsive to receiving the indication, a user interface on a display of the handheld computing device, wherein the user interface comprises a plurality of items each corresponding to a respective action for handling the notification, wherein each of the plurality of items is assigned to a respective control of the handheld computing device for invoking the respective action. The method further comprises receiving, by the handheld computing device, a selection of one of the items.
Another embodiment is a handheld computing device that comprises a plurality of controls for controlling operation of the handheld computing device, a processor, and an application executable in the processor. The application comprises logic that receives an indication of a notification sent from a communication device and logic that provides a user interface on a display of the handheld computing device responsive to receiving the indication, wherein the user interface comprises a plurality of items each corresponding to a respective action for controlling operation of the communication device, wherein each of the plurality of items is assigned to a respective control of the handheld computing device for invoking the respective action on the communication device. The application further comprises logic that receives a selection of one of the items.
Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims.
Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
Having summarized various aspects of the present disclosure, reference will now be made in detail to the description of the disclosure as illustrated in the drawings. While the disclosure will be described in connection with these drawings, there is no intent to limit it to the embodiment or embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications and equivalents included within the spirit and scope of the disclosure as defined by the appended claims.
With the rapid development in communications technology, mobile devices have become an integral part of many people's lives given the portability and the growing number of applications available on mobile devices. Today, individuals can perform a wide range of functions such as playing music, viewing photos, etc. via mobile devices. Consider a scenario whereby a user is listening to music on a wireless headset coupled to a media playback device while the user is working out or performing some other activity. An incoming call is received by the user's phone but the user's phone is in not immediate reach (e.g., the phone is in a gym bag). In this scenario, the user misses the call and later discovers that a missed call occurred. Various embodiments are disclosed for allowing users to handle incoming calls using a media player device. In the following discussion, a general description of the system and its components is provided, followed by a discussion of the operation of the same.
Applications and/or other functionality may be executed in the media playback device 102 according to various embodiments. The components executed on the media playback device 102 include, for example, a media file manager 112, a call processing interface 115, a peripheral interface 119, a security module 121, and other applications, services, processes, systems, engines, or functionality not discussed in detail herein.
The media file manager 112 is executed to facilitate playback/consumption of media files through the peripheral interface 119. The media file manager 112 may provide controls for performing such functions as starting, stopping, pausing, moving to the next media file in a playlist, moving to the previous media file in a sequence, and/or performing other functions relating to media content. The media file manager 112 is further configured to render a user interface on the display 104 of the media playback device 102 that presents such items as a content listing in relation to the current media consumption.
The call processing interface 115 is executed to facilitate communication with a communication device 103. For example, the call processing interface 115 receives an indication from the communication device 103 when the communication device 103 receives an incoming call. The indication may comprise, for example, caller identification (ID) information that the call processing interface 115 uses to display caller identification information on the media playback device 102. In accordance with various embodiments, the caller ID information and other items are displayed in the form of a user interface on the display 104 of the media playback device 102.
Reference is made to
For some implementations, the communication device 103 may also transmit a graphic associated with the calling party, which the media playback device 102 displays on the user interface 202. However, for other implementations, graphics corresponding to a contacts list may be stored locally on the media playback device 102 and retrieved when the media playback device 102 receives an indication from the communication device 103 that an incoming call has been received. Additional details relating to the retrieval of limited access data are described below.
As shown, the user interface 202 further comprises items whereby the user can select to accept or reject the incoming call received by the communication device 103. For some embodiments, the call processing interface 115 allows the user to accept or reject the incoming call by manipulating controls 204 on the media playback device 102.
Note, however, that this is just one example implementation and that other means for receiving user input may be utilized as well.
Referring back to
The communication interface 125 on the communication device 103 then accepts or rejects the incoming call according to the response received from the media playback device 102. In the event that the user accepts the call, the peripheral interface 129 in the communication device 103 establishes an audio path with the output device 130. At approximately the same time, the media file manager 112 suspends the streaming of media content to the output device 130 in order to allow the user to conduct the call via an audio path between the communication device 103 and the output device 130. Once the call is terminated, the media file manager 112 resumes streaming of the audio content to the output device 130.
Various data is stored in data storage 117 implemented in the media playback device 102 that is accessible to a user of the media playback device 102. The data storage 117 may store such data as contact lists, photos, media files, user profile data, and other personal files. For some embodiments, the data stored in the data storage 117 may be partitioned according to open access data 142 and limited access data 145, where any user of the media playback device 102 can access the open access data 142 while the limited access data 145 is restricted to authorized users. The security module 121 is executed to implement privacy settings and provides restricted access to the limited access data 145 in the data storage 117. The security module 121 functions as a gateway through which authorized users access the limited access data 145.
Having described the various components for handling incoming calls, a detailed description of the functionality associated with the various components described in connection with
An incoming call is received by the communication interface 125 (
In block 320, the media playback device 102 retrieves data corresponding to the incoming call from the data storage 117 (
Such data may comprise, for example, photos associated with callers. Other data may comprise other contact information relating to the caller and a call history corresponding to the caller. Based on the data retrieved from the data storage 117, the call processing interface 115 generates a user interface 202 (
In block 330, the call processing interface 115 receives a selection from the user via the user interface 202. Examples of selections by the user may include accepting the incoming call and rejecting the incoming call. As described earlier in connection with
For some embodiments, the call processing interface 115 allows the user to accept or reject the incoming call by manipulating controls 204 (
In block 340, the call processing interface 115 generates a response based on the selection received from the user and transmits the response back to the communication device 103. The communication interface 125 then handles the call according to the response sent by the call processing interface 115 in the media playback device 102. Thereafter, the portion of the call processing interface 115 ends.
Reference is made to
Upon receiving an indication from the communication device 103 (
Beginning with block 410, the security module 121 grants access to the limited access data 145 in the data storage 117 based on the communication device 103 currently coupled with the media playback device 102 through the respective peripheral interfaces 119, 129 of the media playback device 102 and the communication device 103. Based on the communication device 103 currently paired with the media playback device 102, the security module 121 determines whether an authorized user is using the media playback device 102 and grants access to the limited access data 145 (
In block 420, the security module 121 performs a look-up in the data storage 117 to retrieve data associated with the incoming call. For example, the security module 121 may perform a look-up among contacts of the current user and retrieve a photo, if available, associated with the caller originating the incoming call.
In block 430, the data retrieved by the security module 121 is forwarded to the call processing interface 115, which then generates a user interface 202 (
Turning now to
In block 510, the media playback device 102 receives a request to access the data storage 117 in the media playback device 102. A user may be attempting to access, for example, contact lists, photos, media files, user profile data, and/or other personal files stored in the data storage 117. For some embodiments, such data may be stored as limited access data 145 (
In block 520, the security module 121 determines whether the user attempting to access the data storage 117 is an authorized user. The security module 121 may determine whether a user is authorized according to various means. For some embodiments, the security module 121 determines the identity of the user according to the communication device 103 (
For other embodiments, the security module 121 may determine the identity of the user according to connection via an access point. To illustrate, reference is made to
Referring back to block 520 in
Reference is made to
In accordance with one method implemented in a media playback device 102 for handling incoming calls to a communication device 103 (
In block 620, the media playback device 102 streams audio content to the output device 130. In block 630, the media playback device 102 receives an indication from the communication device 103 of an incoming call received by the communication device 103. Based on the contents of the indication, the media playback device 102 proceeds to block 640 and generates an alert corresponding to the incoming call. As described earlier in connection with
Reference is made to
The media playback device 102 receives a selection from the user relating to the incoming call. For example, the user may accept or reject the incoming call and specify the desired action by manipulating one or more controls on the media playback device 102. As described earlier in connection with
In the event that the user elects to accept the call, the media playback device 102 suspends streaming of the audio content to the output device 130, and the communication device 103 routes the audio from the incoming call to the output device 130 so that the user can conduct the call. Upon termination of the incoming call, the communication device 103 alerts the media playback device 102, and the media playback device 102 resumes streaming of the audio.
A Hands-Free Profile (HFP)/Human Interface Device Profile (HID) may be established between the media playback device 102 and the communication device 103. A Hands-Free Profile (HFP)/Headset Profile (HSP) link may be established between the communication device 103 and the output device 130. Upon establishing an A2DP/AVRCP connection, the media playback device 102 streams audio content to the output device 130.
As shown, an incoming call is received by the communication device 103, and a +CLIP (Calling Line Identification Presentation) unsolicited response is sent from the communication device 103 to the media playback device 102. At approximately the same time, the communication device transmits an alert (e.g., a ring tone) to the output device 130. For some embodiments, a pause command is transmitted by the output device 130 to the media playback device to suspend streaming of the audio content.
Next, the user accepts the incoming call, and a synchronous connection-oriented (SCO) link is established between the communication device 103 and the output device 130. Call information is retrieved by the media playback device 102 from the communication device 103, and the call is conducted.
The user terminates the call via the media playback device 102 or the output device 130, which then alerts the communication device 103 that the call has been terminated. The communication device 103 closes the SCO link with the output device 130, and playback resumes between the media playback device 102 and the output device 130.
With reference to
Stored in the memory 1106 are both data and several components that are executable by the processor 1103. In particular, stored in the memory 1106 and executable by the processor 1103 are the media file manager 112, the call processing interface 115, the peripheral interface 119, the security module 121, and potentially other applications. Also stored in the memory 1106 may be the data storage 117 and other data. In addition, an operating system may be stored in the memory 1106 and executable by the processor 1103.
With reference to
Stored in the memory 1206 are both data and several components that are executable by the processor 1203. In particular, stored in the memory 1206 and executable by the processor 1203 are the communication interface 125, the peripheral interface 129, and potentially other applications. In addition, an operating system may be stored in the memory 1206 and executable by the processor 1203.
It is understood that there may be other applications that are stored in each of the memories 1106/1206 and are executable by the respective processors 1103/1203 as can be appreciated. Where any component discussed herein is implemented in the form of software, any one of a number of programming languages may be employed.
A number of software components are stored in the respective memories 1106/1206 and are executable by the processors 1103/1203. In this respect, the term executable means a program file that is in a form that can ultimately be run by a respective processor 1103/1203. Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of a memory 1106/1206 and run by a processor 1103/1203, source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of a memory 1106/1206 and executed by a processor 1103/1203, or source code that may be interpreted by another executable program to generate instructions in a random access portion of one of the memories 1106/1206 to be executed by a respective processor 1103/1203, etc.
An executable program may be stored in any portion or component of a respective memory 1106/1206 including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
Each of the memories 1106/1206 is defined herein as including both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, each memory 1106/1206 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components.
In addition, the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
Also, each processor 1103/1203 may represent multiple processors and each memory 1106/1206 may represent multiple memories that operate in parallel processing circuits, respectively. In such a case, each local interface 1109/1209 may be an appropriate network that facilitates communication between any two of the multiple processors, between any processor and any of the multiple memories, or between any two memories, etc. Such a local interface 1109/1209 may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing. Each processor 1103/1203 may be of electrical or of some other available construction.
Although the components and applications described herein may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware.
If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
The flowcharts of
Although the flowcharts of
Also, any logic or application described herein that comprises software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor in a computer system or other system. Each may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system.
In the context of the present disclosure, a “computer-readable medium” can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system. The computer-readable medium can comprise any one of many physical media such as, for example, magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs.
Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
This is a continuation application of U.S. application Ser. No. 13/328,484 entitled “Systems and Methods for Handling Incoming Calls on a Media Device,” filed on Dec. 16, 2011, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 13328484 | Dec 2011 | US |
Child | 14524963 | US |