diff options
Diffstat (limited to 'Settings/src/com/android/tv/settings/enterprise/EnterprisePrivacyFeatureProvider.java')
-rw-r--r-- | Settings/src/com/android/tv/settings/enterprise/EnterprisePrivacyFeatureProvider.java | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/Settings/src/com/android/tv/settings/enterprise/EnterprisePrivacyFeatureProvider.java b/Settings/src/com/android/tv/settings/enterprise/EnterprisePrivacyFeatureProvider.java new file mode 100644 index 000000000..7d555b2ad --- /dev/null +++ b/Settings/src/com/android/tv/settings/enterprise/EnterprisePrivacyFeatureProvider.java @@ -0,0 +1,141 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tv.settings.enterprise; + +import java.util.Date; + +public interface EnterprisePrivacyFeatureProvider { + + /** + * Returns whether the device is managed by a Device Owner app. + */ + boolean hasDeviceOwner(); + + /** + * Returns whether the device is in COMP mode (primary user managed by a Device Owner app and + * work profile managed by a Profile Owner app). + */ + boolean isInCompMode(); + + /** + * Returns the name of the organization managing the device via a Device Owner app. If the + * device is not managed by a Device Owner app or the name of the managing organization was not + * set, returns {@code null}. + */ + String getDeviceOwnerOrganizationName(); + + /** + * Returns a message informing the user that the device is managed by a Device Owner app. The + * message includes a Learn More link that takes the user to the enterprise privacy section of + * Settings. If the device is not managed by a Device Owner app, returns {@code null}. + */ + CharSequence getDeviceOwnerDisclosure(); + + /** + * Returns the time at which the Device Owner last retrieved security logs, or {@code null} if + * logs were never retrieved by the Device Owner on this device. + */ + Date getLastSecurityLogRetrievalTime(); + + /** + * Returns the time at which the Device Owner last requested a bug report, or {@code null} if no + * bug report was ever requested by the Device Owner on this device. + */ + Date getLastBugReportRequestTime(); + + /** + * Returns the time at which the Device Owner last retrieved network logs, or {@code null} if + * logs were never retrieved by the Device Owner on this device. + */ + Date getLastNetworkLogRetrievalTime(); + + /** + * Returns whether security logging is currently enabled. + */ + boolean isSecurityLoggingEnabled(); + + /** + * Returns whether network logging is currently enabled. + */ + boolean isNetworkLoggingEnabled(); + + /** + * Returns whether the Device Owner or Profile Owner in the current user set an always-on VPN. + */ + boolean isAlwaysOnVpnSetInCurrentUser(); + + /** + * Returns whether the Profile Owner in the current user's managed profile (if any) set an + * always-on VPN. + */ + boolean isAlwaysOnVpnSetInManagedProfile(); + + /** + * Returns the number of failed login attempts that the Device Owner or Profile Owner allows + * before the current user is wiped, or zero if no such limit is set. + */ + int getMaximumFailedPasswordsBeforeWipeInCurrentUser(); + + /** + * Returns the number of failed login attempts that the Profile Owner allows before the current + * user's managed profile (if any) is wiped, or zero if no such limit is set. + */ + int getMaximumFailedPasswordsBeforeWipeInManagedProfile(); + + /** + * Returns the label of the current user's input method if that input method was set by a Device + * Owner or Profile Owner in that user. Otherwise, returns {@code null}. + */ + String getImeLabelIfOwnerSet(); + + /** + * Returns the number of CA certificates that the Device Owner or Profile Owner installed in + * current user. + */ + int getNumberOfOwnerInstalledCaCertsForCurrentUser(); + + /** + * Returns the number of CA certificates that the Device Owner or Profile Owner installed in + * the current user's managed profile (if any). + */ + int getNumberOfOwnerInstalledCaCertsForManagedProfile(); + + /** + * Returns the number of Device Admin apps active in the current user and the user's managed + * profile (if any). + */ + int getNumberOfActiveDeviceAdminsForCurrentUserAndManagedProfile(); + + /** + * Returns {@code true} if it is possilbe to resolve an Intent to launch the "Your work policy + * info" page provided by the active Device Owner or Profile Owner app if it exists, {@code + * false} otherwise. + */ + boolean hasWorkPolicyInfo(); + + /** + * Launches the Device Owner or Profile Owner's activity that displays the "Your work policy + * info" page. Returns {@code true} if the activity has indeed been launched. + */ + boolean showWorkPolicyInfo(); + + /** + * Launches the parental controls settings page. Returns {@code true} if the activity has + * been launched. + */ + boolean showParentalControls(); +} |