131 lines
4.8 KiB
Plaintext
131 lines
4.8 KiB
Plaintext
/*
|
|
* 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 android.safetycenter;
|
|
|
|
import android.safetycenter.IOnSafetyCenterDataChangedListener;
|
|
import android.safetycenter.SafetyCenterData;
|
|
import android.safetycenter.SafetyEvent;
|
|
import android.safetycenter.SafetySourceData;
|
|
import android.safetycenter.SafetySourceErrorDetails;
|
|
import android.safetycenter.config.SafetyCenterConfig;
|
|
|
|
/**
|
|
* AIDL Interface for communicating with the Safety Center, which consolidates UI for security and
|
|
* privacy features on the device.
|
|
*
|
|
* These APIs are intended to be used by the following clients:
|
|
* <ul>
|
|
* <li>Safety sources represented in Safety Center UI
|
|
* <li>Dependents on the state of Safety Center UI
|
|
* <li>Managers of Safety Center UI
|
|
* </ul>
|
|
*
|
|
* @hide
|
|
*/
|
|
interface ISafetyCenterManager {
|
|
/** Returns whether the Safety Center feature is enabled. */
|
|
boolean isSafetyCenterEnabled();
|
|
|
|
/**
|
|
* Sets the latest SafetySourceData for the given safetySourceId and user to be displayed in
|
|
* SafetyCenter UI.
|
|
*/
|
|
void setSafetySourceData(
|
|
String sourceId,
|
|
in SafetySourceData safetySourceData,
|
|
in SafetyEvent safetyEvent,
|
|
String packageName,
|
|
int userId);
|
|
|
|
/** Returns the latest SafetySourceData set for the given safetySourceId and user. */
|
|
SafetySourceData getSafetySourceData(
|
|
String safetySourceId,
|
|
String packageName,
|
|
int userId);
|
|
|
|
/**
|
|
* Notifies the SafetyCenter of an error related to a given safety source.
|
|
*
|
|
* <p>Safety sources should use this API to notify SafetyCenter when SafetyCenter requested or
|
|
* expected them to perform an action or provide data, but they were unable to do so.
|
|
*/
|
|
void reportSafetySourceError(
|
|
String safetySourceId,
|
|
in SafetySourceErrorDetails safetySourceErrorDetails,
|
|
String packageName,
|
|
int userId);
|
|
|
|
/** Requests safety sources to set their latest SafetySourceData for Safety Center. */
|
|
void refreshSafetySources(int refreshReason, int userId);
|
|
|
|
/** Returns the current SafetyCenterConfig, if available. */
|
|
SafetyCenterConfig getSafetyCenterConfig();
|
|
|
|
/**
|
|
* Returns the current SafetyCenterData, assembled from the SafetySourceData from all sources.
|
|
*/
|
|
SafetyCenterData getSafetyCenterData(int userId);
|
|
|
|
void addOnSafetyCenterDataChangedListener(
|
|
IOnSafetyCenterDataChangedListener listener,
|
|
int userId);
|
|
|
|
void removeOnSafetyCenterDataChangedListener(
|
|
IOnSafetyCenterDataChangedListener listener,
|
|
int userId);
|
|
|
|
/**
|
|
* Dismiss a Safety Center issue and prevent it from appearing in the Safety Center or affecting
|
|
* the overall safety status.
|
|
*/
|
|
void dismissSafetyCenterIssue(String issueId, int userId);
|
|
|
|
/** Executes the specified Safety Center issue action on the specified Safety Center issue. */
|
|
void executeSafetyCenterIssueAction(
|
|
String safetyCenterIssueId,
|
|
String safetyCenterIssueActionId,
|
|
int userId);
|
|
|
|
/**
|
|
* Clears all SafetySourceData (set by safety sources using setSafetySourceData) for testing.
|
|
*
|
|
* <p>Note: This API serves to facilitate CTS testing and should not be used for other purposes.
|
|
*/
|
|
void clearAllSafetySourceDataForTests();
|
|
|
|
/**
|
|
* Overrides the SafetyCenterConfig for testing.
|
|
*
|
|
* <p>When set, the overridden SafetyCenterConfig will be used instead of the
|
|
* SafetyCenterConfig parsed from the XML file to read configured safety sources.
|
|
*
|
|
* <p>Note: This API serves to facilitate CTS testing and should not be used to configure safety
|
|
* sources dynamically for production. Once used for testing, the override should be cleared.
|
|
*
|
|
* See clearSafetyCenterConfigForTests.
|
|
*/
|
|
void setSafetyCenterConfigForTests(in SafetyCenterConfig safetyCenterConfig);
|
|
|
|
/**
|
|
* Clears the override of the SafetyCenterConfig set for testing.
|
|
*
|
|
* <p>Note: This API serves to facilitate CTS testing and should not be used for other purposes.
|
|
*
|
|
* See setSafetyCenterConfigForTests(SafetyCenterConfig).
|
|
*/
|
|
void clearSafetyCenterConfigForTests();
|
|
} |