Search

EP-4150435-B1 - AUTOCOMPLETION OF CONTACT INFORMATION

EP4150435B1EP 4150435 B1EP4150435 B1EP 4150435B1EP-4150435-B1

Inventors

  • CHEN, Zeheng
  • ARANDA, Jessica
  • COFFMAN, PATRICK
  • DEMASCO, PATRICK W.
  • FREUDIGER, JULIEN
  • MISRA, KARAN
  • RHEE, STEPHEN J.
  • TRIBBLE, GUY L.

Dates

Publication Date
20260506
Application Date
20210525

Claims (15)

  1. A method executed by one or more processors of an electronic device (402) comprising: generating one or more autocompletion suggestions based on a string input via a text field; requesting secure display of one or more autocompletion suggestions from a memory location within the electronic device (402) that is inaccessible to an application (410) for which the autocompletion suggestions are presented; receiving a selection of an autocompletion suggestion of the one or more autocompletion suggestions; and inserting the selected autocompletion suggestion into the text field in response to receiving the selection of the autocompletion suggestion.
  2. The method of claim 1, wherein inserting the selected autocompletion suggestion into the text field includes enabling access for the application (410) to the selected autocompletion suggestion.
  3. The method of claim 1, the operations further comprising: determining a type associated with the text field; and generating one or more autocompletion suggestions using on the string and the type.
  4. The method of claim 3, wherein determining the type associated with the text field includes determining whether a semantic meaning for the text field is defined via an application (410) programming interface.
  5. The method of claim 3, wherein determining the type associated with the text field includes at least one of: analyzing placeholder text associated with the text field or determining a type for the application (410).
  6. The method of claim 1, the operations further comprising generating one or more autocompletion suggestions using a contacts database on the electronic device (402).
  7. The method of claim 6, the operations additionally comprising granting access to the contacts database by the application (410) via a privacy control system of the electronic device (402).
  8. The method of claim 1, the operations additionally comprising: detecting input of the string into the text field via keyboard logic within a process space of the application (410); determining a type associated with the text field; and receiving the string and the type associated with the text field from the keyboard logic within the process space of the application (410) at keyboard logic outside of a process space of the application (410); requesting, by the keyboard logic outside of a process space of the application (410), generation of the one or more autocompletion suggestions based on the string and the type associated with the text field.
  9. The method of claim 1, the operations additionally comprising: detecting presentation of an autocomplete suggestion by the application (410); determining whether the one or more autocompletion suggestions duplicate the autocomplete suggestion by the application (410); and removing a suggestion from the one or more autocompletion suggestions when the suggestion is a duplicate of the autocomplete suggestion by the application (410).
  10. An electronic device (402) comprising: a display device; a memory device coupled with the display device; an input device; and one or more processors coupled with the display device, the memory device, and the input device, the one or more processors to execute instructions stored in the memory device, wherein the instructions cause the one or more processors to: generate one or more autocompletion suggestions based on a string input via a text field; display the one or more autocompletion suggestions by writing the one or more autocompletion suggestions to a portion of the memory within the electronic device (402) that is inaccessible to an application (410) for which the autocompletion suggestions are presented and displaying, via the display device, the one or more autocompletion suggestions from the portion of the memory; receive selection of an autocompletion suggestion of the one or more autocompletion suggestions; and insert the selected autocompletion suggestion into the text field in response to receipt of the selection of the autocompletion suggestion.
  11. The electronic device (402) as in claim 10, wherein to insert the selected autocompletion suggestion into the text field includes to enable the application (410) to access a portion of the memory that stores the selected autocompletion suggestion.
  12. The electronic device (402) as in claim 10, wherein to generate the one or more autocompletion suggestions to: provide the string and a type associated with the text field to a suggestion generator associated with an operating system of the electronic device (402), the suggestion generator to generate one or more autocompletion suggestions based on the string, the type associated with the text field, and a contacts database on the electronic device (402); and receive the one or more autocompletion suggestions from the suggestion generator.
  13. The electronic device (402) as in claim 12, wherein to determine a type associated with the text field includes at least one of: to determine whether a semantic meaning for the text field is defined via an application (410) programming interface; or determine that a semantic meaning for the text field is not defined; and determine the type associated with the text field based on placeholder text associated with the text field or an application (410) type associated with the application (410).
  14. The electronic device (402) as in claim 10, wherein the one or more processors are further instructed to: detect presentation of an autocomplete suggestion by the application (410); determine whether the one or more autocompletion suggestions duplicate the autocomplete suggestion by the application (410); and remove a suggestion from the one or more autocompletion suggestions when the suggestion is a duplicate of the autocomplete suggestion by the application (410).
  15. A non-transitory machine readable medium storing instructions which, when executed by one or more processors of an electronic device (402), cause the one or more processors to perform the steps of any of claims 1-9

Description

CROSS-REFERENCE This application claims the benefit of priority of U.S. Provisional Application No. 63/041,784 filed June 19, 2020. TECHNICAL FIELD This disclosure relates generally to mobile electronic devices. More specifically, this disclosure relates to a system and associated methods to enable private and secure autocomplete suggestions based on a user contacts database. BACKGROUND A privacy control system provided by an operating system on an electronic device can limit application access to privacy sensitive devices (e.g., camera/microphone) and privacy sensitive data sources (e.g., a contacts database). When an application attempts to access a privacy sensitive device or a privacy sensitive data source, the user is prompted to allow or deny the access. The indicated user preference may be persisted by the privacy control system. A drawback to enabling access to a privacy sensitive data source is that access may be granted to the entire data source. For example, if a user allows an application to access a contacts database, the application may access all contacts in the contacts database. Thus, it would be beneficial to enable limited access to a privacy sensitive data source for a limited purpose. PRIOR ART US 2018/115625 A1 (LIVNEH AMIR [IL]) 26 April 2018, discloses methods and systems for Auto-Completion of anonymized strings. SUMMARY Embodiments described herein provide a system and associated methods to enable private and secure autocomplete suggestions based on a user contacts database. A keyboard process can receive and display suggestions based on user input provided via the keyboard. The suggestions are generated based on a contacts database of a user. The suggestions are generated without exposing the contacts database to the application. Suggestions are then displayed to the user without exposing the suggestions to the application. Only once a suggestion is selected by a user is the selected suggestion provided to the application for insertion into a text field. One embodiment provides an electronic device comprising a display device, a memory device coupled with the display device, an input device, and one or more processors coupled with the display device, the memory device, and the input device. The one or more processors can be configured to execute instructions stored in the memory device, where the instructions cause the one or more processors to detect selection of a text field displayed via a user interface of the electronic device, the user interface displayed on the display device on behalf of an application configured for execution by the one or more processors, detect input of a string into the text field, the string input via the input device, generate one or more autocompletion suggestions based on the string and securely display the one or more autocompletion suggestions within the user interface. To securely display the one or more autocompletion suggestions includes to write the autocompletion suggestions to a portion of the memory that is inaccessible to the application and display, via the display device, the one or more autocompletion suggestions from the portion of the memory. After display of the one or more autocompletion suggestions, the one or more processors can receive, via the input device, selection of an autocompletion suggestion of the one or more autocompletion suggestions and insert the selected autocompletion suggestion into the text field in response to receipt of the selection of the autocompletion suggestion. The application does not have access to the autocompletion suggestions while they are securely displayed. When an autocompletion suggestion is selected, the selected suggestion is made accessible to the application. One embodiment provides for a method performed by one or more processors of an electronic device. The method comprises detecting selection of a text field displayed via a user interface of the electronic device, where the user interface is displayed for an application executed by the one or more processors. The method additionally includes detecting input of a string into the text field, generating one or more autocompletion suggestions based on the string, and requesting secure display of the one or more autocompletion suggestions within the user interface of the electronic device. Secure display of the one or more autocompletion suggestions enables the one or more autocompletion suggestions to be displayed to the user while preventing the suggestions from being read by the application. For example, the autocompletion suggestions can be displayed from a memory location that is inaccessible to the application. In response to selection of a displayed suggestion, the method further includes inserting the selected autocompletion suggestion into the text field in response to receiving the selection of the autocompletion suggestion. One embodiment provides for a non-transitory machine-readable medium storing instructions which, when execute