Device-wide unknown sources block option for DPC.
This adds a new framework user restriction that can be used by the DPC to block installs from unknown sources on all profiles of a device. Test: Manual test, disallowing installs in TestDPC disables installing unknown sources apps. Bug: 111335021 Change-Id: Ib9fb672c5e5dea2ac63bf8cbd1b04484b12b4056
This commit is contained in:
@@ -7414,6 +7414,10 @@ public class DevicePolicyManager {
|
||||
* If any app targeting {@link android.os.Build.VERSION_CODES#O} or higher calls this method
|
||||
* with {@link android.provider.Settings.Secure#INSTALL_NON_MARKET_APPS},
|
||||
* an {@link UnsupportedOperationException} is thrown.
|
||||
*
|
||||
* Starting from Android Q, the device and profile owner can also call
|
||||
* {@link UserManager#DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY} to restrict unknown sources for
|
||||
* all users.
|
||||
* </strong>
|
||||
*
|
||||
* @param admin Which {@link DeviceAdminReceiver} this request is associated with.
|
||||
|
||||
@@ -256,6 +256,7 @@ public class UserManager {
|
||||
/**
|
||||
* Specifies if a user is disallowed from enabling the
|
||||
* "Unknown Sources" setting, that allows installation of apps from unknown sources.
|
||||
* Unknown sources exclude adb and special apps such as trusted app stores.
|
||||
* The default value is <code>false</code>.
|
||||
*
|
||||
* <p>Key for user restrictions.
|
||||
@@ -266,6 +267,22 @@ public class UserManager {
|
||||
*/
|
||||
public static final String DISALLOW_INSTALL_UNKNOWN_SOURCES = "no_install_unknown_sources";
|
||||
|
||||
/**
|
||||
* This restriction is a device-wide version of {@link DISALLOW_INSTALL_UNKNOWN_SOURCES}.
|
||||
*
|
||||
* Specifies if all users on the device are disallowed from enabling the
|
||||
* "Unknown Sources" setting, that allows installation of apps from unknown sources.
|
||||
* The default value is <code>false</code>.
|
||||
*
|
||||
* <p>Key for user restrictions.
|
||||
* <p>Type: Boolean
|
||||
* @see DevicePolicyManager#addUserRestriction(ComponentName, String)
|
||||
* @see DevicePolicyManager#clearUserRestriction(ComponentName, String)
|
||||
* @see #getUserRestrictions()
|
||||
*/
|
||||
public static final String DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY =
|
||||
"no_install_unknown_sources_globally";
|
||||
|
||||
/**
|
||||
* Specifies if a user is disallowed from configuring bluetooth.
|
||||
* This does <em>not</em> restrict the user from turning bluetooth on or off.
|
||||
@@ -1669,8 +1686,9 @@ public class UserManager {
|
||||
/**
|
||||
* @hide
|
||||
* Returns whether the given user has been disallowed from performing certain actions
|
||||
* or setting certain settings through UserManager. This method disregards restrictions
|
||||
* set by device policy.
|
||||
* or setting certain settings through UserManager (e.g. this type of restriction would prevent
|
||||
* the guest user from doing certain things, such as making calls). This method disregards
|
||||
* restrictions set by device policy.
|
||||
* @param restrictionKey the string key representing the restriction
|
||||
* @param userHandle the UserHandle of the user for whom to retrieve the restrictions.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user