IP Library Granted Patent US 9,323,518
Granted Patent B1
US 9,323,518 · App. 14/445,704 · Granted Apr 26, 2016

Systems and methods for modifying applications without user input

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 9,323,518
App. No.
14/445,704
Granted
Apr 26, 2016
Kind
B1
Abstract

The disclosed computer-implemented method for modifying applications without user input may include (1) identifying a need to modify at least one application on the computing device, (2) initiating modification of the application on the computing device, (3) while the application is being modified, monitoring event notifications generated by an accessibility service that provides user interface enhancements for disabled individuals on an operating system installed on the computing device, (4) determining, based on an analysis of an event notification generated by the accessibility service, that a user of the computing device is prompted, on the computing device, to provide input necessary to complete the modification of the application, and (5) in response to detecting that the user is prompted to provide the input, automatically supplying the input in order to complete the modification of the application. Various other methods, systems, and computer-readable media are also disclosed.

Claims (68)

1. A computer-implemented method for modifying applications without user input, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

prompting a user of the computing device to enable permissions on the computing device required by an accessibility service that provides user interface enhancements for disabled individuals on an operating system installed on the computing device;

after the permissions are enabled, identifying a need to modify at least one application on the computing device based on an administrator-defined policy associated with the application;

in response to identifying the need to modify the application based on the administrator-defined policy, removing the user's control of the computing device to prevent the user from interfering with the modification;

after removing the user's control of the computing device:

initiating modification of the application on the computing device;

while the application is being modified, monitoring event notifications generated by the accessibility service;

determining, based on an analysis of an event notification generated by the accessibility service, that the user of the computing device is prompted, on the computing device, to enable permissions necessary to modify the application;

in response to determining that the user is prompted to enable the permissions, automatically enabling the permissions via the accessibility service in order to complete the modification of the application.

2. The method of claim 1 , wherein the administrator-defined policy requires at least one of:

the application to be installed onto the computing device:

the application to receive an available update;

the application to be uninstalled from the computing device based on the application representing a security threat.

3. The method of claim 1 , wherein initiating modification of the application comprises at least one of:

launching an application distribution platform installed on the computing device that facilitates installing and/or updating applications;

launching an application manager installed on the computing device that facilitates uninstalling applications.

4. The method of claim 1 , wherein removing the user's control of the computing device comprises at least one of:

prohibiting the user from entering input into the computing device;

overriding instructions issued by the user.

5. The method of claim 1 , wherein the event notifications generated by the accessibility service include at least one of:

an indication that a user interface of the computing device has changed;

information that indicates content of the user interface.

6. The method of claim 1 , wherein determining that the user is prompted to enable the permissions necessary to modify the application comprises analyzing at least one of:

a layout of an active window displayed on the computing device;

content of the active window.

7. The method of claim 1 , wherein determining that the user is prompted to enable the permissions necessary to modify the application comprises at least one of:

determining the user is prompted to click a button;

determining the user is prompted to enter credentials that authenticate the user.

8. The method of claim 1 , wherein automatically supplying the input in order to complete the modification of the application comprises displaying, on an active window of the computing device, the progress of the modification of the application.

9. The method of claim 8 , wherein displaying the progress of the modification on the active window comprises overlaying a screen indicating the progress of the modification on a user interface that prompts the user to complete the modification.

10. A system for modifying applications without user input, the system comprising:

a prompting module, stored in memory, that prompts a user of a computing device to enable permissions on the computing device required by an accessibility service that provides user interface enhancements for disabled individuals on an operating system installed on the computing device;

an identification module, stored in memory, that identifies, after the permissions are enabled, a need to modify at least one application on the computing device based on an administrator-defined policy associated with the application;

an initiating module, stored in memory, that:

removes the user's control of the computing device to prevent the user from interfering with the modification;

initiates modification of the application on the computing device after removing the user's control of the computing device;

a monitoring module, stored in memory, that while the application is being modified, monitors event notifications generated by the accessibility service;

a determination module, stored in memory, that determines, based on an analysis of an event notification generated by the accessibility service, that the user of the computing device is prompted, on the computing device, to enable permissions necessary to modify the application;

a supplying module, stored in memory, that in response to determining that the user is prompted to enable the permissions, automatically enables the permissions via the accessibility service in order to complete the modification of the application;

at least one processor that executes the prompting module, the identification module, the initiating module, the monitoring module, the determination module, and the supplying module.

11. The system of claim 10 , wherein the administrator-defined policy requires at least one of:

the application to be installed onto the computing device:

the application to receive an available update;

the application to be uninstalled from the computing device based on the application representing a security threat.

12. The system of claim 10 , wherein the initiating module initiates modification of the application by at least one of:

launching an application distribution platform installed on the computing device that facilitates installing and/or updating applications;

launching an application manager installed on the computing device that facilitates uninstalling applications.

13. The system of claim 10 , wherein the initiating module removes the user's control of the computing device by at least one of:

prohibiting the user from entering input into the computing device;

overriding instructions issued by the user.

14. The system of claim 10 , wherein the event notifications generated by the accessibility service include at least one of:

an indication that a user interface of the computing device has changed;

information that indicates content of the user interface.

15. The system of claim 10 , wherein the determination module determines that the user is prompted to enable the permissions necessary to modify the application by analyzing at least one of:

a layout of an active window displayed on the computing device;

content of the active window.

16. The system of claim 10 , wherein the determination module determines that the user is prompted to enable the permissions necessary to modify the application by at least one of:

determining the user is prompted to click a button;

determining the user is prompted to enter credentials that authenticate the user.

17. The system of claim 10 , wherein the supplying module automatically supplies the input in order to complete the modification of the application by displaying, on an active window of the computing device, the progress of the modification of the application.

18. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

prompt a user of the computing device to enable permissions on the computing device required by an accessibility service that provides user interface enhancements for disabled individuals on an operating system installed on the computing device; after the permissions are enabled, identify a need to modify at least one application on the computing device based on an administrator-defined policy associated with the application;

in response to identifying the need to modify the application based on the administrator-defined policy, remove the user's control of the computing device to prevent the user from interfering with the modification;

after removing the user's control of the computing device:

initiate modification of the application on the computing device;

while the application is being modified, monitor event notifications generated by the accessibility service;

determine, based on an analysis of an event notification generated by the accessibility service, that the user of the computing device is prompted, on the computing device, to enable permissions necessary to modify the application;

in response to determining that the user is prompted to enable the permissions, automatically enabling the permissions via the accessibility service in order to complete the modification of the application.

Assignments (6)
CHANGE OF NAME Recorded Feb 6, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 062714/0605 →
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Feb 14, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 051935/0228 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2014
From: SAVANT, ANUBHAV; CHEN, MING; ZHAO, HAI
To: SYMANTEC CORPORATION
Reel/Frame 033413/0521 →