IP Library Granted Patent US 11,915,016
Granted Patent B2
US 11,915,016 · App. 17/352,992 · Granted Feb 27, 2024

System and method for identifying, indexing, and navigating to deep states of mobile applications

Inventors: Kalyan Desineni (Mountain View, CA); Matan Levi (Mountain View, CA); Moshe Krush (Tel Aviv-Jaffa, IL); Danny Tsechansky (Mountain View, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F9/44521G06F8/433G06F8/61G06F9/451G06F9/54G06F9/542
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,915,016
App. No.
17/352,992
Granted
Feb 27, 2024
Kind
B2
Abstract

A mobile application development system includes a developer portal that receives an application from a developer and provides a routing library to the developer to augment the application. An offline analysis system analyzes the application to (i) determine a set of activities that a handler within the application is programmed to resume in response to respective resumption requests from a host operating system and (ii) determine parameters for each of the activities. The offline analysis system generates a set of links that each corresponds to a respective one of the activities. The routing library, installed as part of the augmented application onto a user device, receives a link, from the user device's operating system, that identifies a first activity. The routing library includes instructions for generating a first resumption request based on parameters corresponding to the first activity and transmitting the first resumption request to the augmented application's handler.

Claims (34)

1. An electronic device comprising:

a processor; and

a memory electrically connected to the processor,

wherein the memory is configured to store instructions which, when executed, cause the processor to control the electronic device to:

obtain, by a routing library of a first application, a request, wherein the request specifies a state of the first application,

provide, by the routing library, information corresponding to the request to a handler of the first application, the routing library being configured to simulate a user interface (UI) event sequence in response to the request, the UI event sequence being identified by a link included in the request, and

access, by the handler, the state of the first application based on the information,

wherein the UI event sequence comprises a plurality of UI events causing transitions in the first application,

wherein the instructions further cause the processor to control the electronic device to:

identify, by an operating system of the electronic device, whether a link scheme in the link is included in a plurality of link schemes which are registered with the operating system, and

based on the link scheme being included in the plurality of link schemes, provide, by the operating system, the link to the first application corresponding to the link scheme, and

wherein the link scheme is generated based on an identifier of a developer portal and an identifier of the first application.

2. The electronic device of claim 1 , wherein the request comprises an activity request.

3. The electronic device of claim 2 , wherein the link is generated based on the link scheme and the UI event sequence.

4. The electronic device of claim 3 , wherein the instructions further cause the processor to control the electronic device to access, by the routing library, the state of the first application by simulating the UI event sequence specified by the link, and

wherein the UI event sequence is generated by an offline analysis system.

5. The electronic device of claim 1 , wherein the instructions further cause the processor to control the electronic device to obtain, by the routing library, the request from an operating system of the electronic device.

6. The electronic device of claim 1 , wherein the instructions further cause the processor to control the electronic device to generate, by the routing library, the information indicating at least one of an activity object or a data object related to the request.

7. A non-transitory computer-readable storage medium for storing instructions which, when executed by a processor of an electronic device, control the electronic device to perform:

obtaining, by a routing library of a first application, a request, wherein the request specifies a state of the first application,

providing, by the routing library, information corresponding to the request to a handler of the first application, the routing library being configured to simulate a user interface (UI) event sequence in response to the request, the UI event sequence being identified by a link included in the request, and

accessing, by the handler, the state of the first application based on the information,

wherein the UI event sequence comprises a plurality of UI events causing transitions in the first application,

wherein the instructions further control the electronic device to further perform:

identifying, by an operating system of the electronic device, whether a link scheme in the link is included in a plurality of link schemes which are registered with the operating system, and

based on the link scheme being included in the plurality of link schemes, providing, by the operating system, the link to the first application corresponding to the link scheme, and

wherein the link scheme is generated based on an identifier of a developer portal and an identifier of the first application.

8. The non-transitory computer-readable storage medium of claim 7 , wherein the request comprises an activity request.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the link is generated based on the link scheme and the UI event sequence.

10. The non-transitory computer-readable storage medium of claim 9 ,

wherein the instructions further control the electronic device to further perform accessing, by the routing library, the state of the first application by simulating the UI event sequence specified by the link, and

wherein the UI event sequence is generated by an offline analysis system.

11. The non-transitory computer-readable storage medium of claim 7 , wherein the instructions further control the electronic device to further perform obtaining, by the routing library, the request from an operating system of the electronic device.

12. The non-transitory computer-readable storage medium of claim 7 , wherein the instructions further control the electronic device to further perform generating, by the routing library, the information indicating at least one of an activity object or a data object related to the request.