Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9c54446 authored by Wenhao Wang's avatar Wenhao Wang Committed by Android (Google) Code Review
Browse files

Merge "[ID] Replace "forensic" with "intrusion detection"" into main

parents 3bfa71c7 ca826fe6
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -66,10 +66,10 @@ package android {
    field @FlaggedApi("android.crashrecovery.flags.enable_crashrecovery") public static final String BIND_EXPLICIT_HEALTH_CHECK_SERVICE = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
    field public static final String BIND_FIELD_CLASSIFICATION_SERVICE = "android.permission.BIND_FIELD_CLASSIFICATION_SERVICE";
    field @FlaggedApi("android.security.afl_api") public static final String BIND_FORENSIC_EVENT_TRANSPORT_SERVICE = "android.permission.BIND_FORENSIC_EVENT_TRANSPORT_SERVICE";
    field public static final String BIND_GBA_SERVICE = "android.permission.BIND_GBA_SERVICE";
    field public static final String BIND_HOTWORD_DETECTION_SERVICE = "android.permission.BIND_HOTWORD_DETECTION_SERVICE";
    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
    field @FlaggedApi("android.security.afl_api") public static final String BIND_INTRUSION_DETECTION_EVENT_TRANSPORT_SERVICE = "android.permission.BIND_INTRUSION_DETECTION_EVENT_TRANSPORT_SERVICE";
    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
    field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE";
    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
@@ -214,12 +214,12 @@ package android {
    field @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled") public static final String MANAGE_ENHANCED_CONFIRMATION_STATES = "android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES";
    field public static final String MANAGE_ETHERNET_NETWORKS = "android.permission.MANAGE_ETHERNET_NETWORKS";
    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
    field @FlaggedApi("android.security.afl_api") public static final String MANAGE_FORENSIC_STATE = "android.permission.MANAGE_FORENSIC_STATE";
    field public static final String MANAGE_GAME_ACTIVITY = "android.permission.MANAGE_GAME_ACTIVITY";
    field public static final String MANAGE_GAME_MODE = "android.permission.MANAGE_GAME_MODE";
    field @FlaggedApi("android.media.tv.flags.media_quality_fw") public static final String MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE = "android.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE";
    field @FlaggedApi("android.media.tv.flags.media_quality_fw") public static final String MANAGE_GLOBAL_SOUND_QUALITY_SERVICE = "android.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE";
    field public static final String MANAGE_HOTWORD_DETECTION = "android.permission.MANAGE_HOTWORD_DETECTION";
    field @FlaggedApi("android.security.afl_api") public static final String MANAGE_INTRUSION_DETECTION_STATE = "android.permission.MANAGE_INTRUSION_DETECTION_STATE";
    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
    field public static final String MANAGE_LOW_POWER_STANDBY = "android.permission.MANAGE_LOW_POWER_STANDBY";
    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
@@ -311,10 +311,10 @@ package android {
    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
    field @FlaggedApi("android.security.afl_api") public static final String READ_FORENSIC_STATE = "android.permission.READ_FORENSIC_STATE";
    field public static final String READ_GLOBAL_APP_SEARCH_DATA = "android.permission.READ_GLOBAL_APP_SEARCH_DATA";
    field @FlaggedApi("android.content.pm.get_resolved_apk_path") public static final String READ_INSTALLED_SESSION_PATHS = "android.permission.READ_INSTALLED_SESSION_PATHS";
    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
    field @FlaggedApi("android.security.afl_api") public static final String READ_INTRUSION_DETECTION_STATE = "android.permission.READ_INTRUSION_DETECTION_STATE";
    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
    field public static final String READ_PEOPLE_DATA = "android.permission.READ_PEOPLE_DATA";
@@ -12894,13 +12894,13 @@ package android.security.authenticationpolicy {
}
package android.security.forensic {
package android.security.intrusiondetection {
  @FlaggedApi("android.security.afl_api") public class ForensicManager {
    method @RequiresPermission(android.Manifest.permission.READ_FORENSIC_STATE) public void addStateCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
    method @RequiresPermission(android.Manifest.permission.MANAGE_FORENSIC_STATE) public void disable(@NonNull java.util.concurrent.Executor, @NonNull android.security.forensic.ForensicManager.CommandCallback);
    method @RequiresPermission(android.Manifest.permission.MANAGE_FORENSIC_STATE) public void enable(@NonNull java.util.concurrent.Executor, @NonNull android.security.forensic.ForensicManager.CommandCallback);
    method @RequiresPermission(android.Manifest.permission.READ_FORENSIC_STATE) public void removeStateCallback(@NonNull java.util.function.Consumer<java.lang.Integer>);
  @FlaggedApi("android.security.afl_api") public class IntrusionDetectionManager {
    method @RequiresPermission(android.Manifest.permission.READ_INTRUSION_DETECTION_STATE) public void addStateCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
    method @RequiresPermission(android.Manifest.permission.MANAGE_INTRUSION_DETECTION_STATE) public void disable(@NonNull java.util.concurrent.Executor, @NonNull android.security.intrusiondetection.IntrusionDetectionManager.CommandCallback);
    method @RequiresPermission(android.Manifest.permission.MANAGE_INTRUSION_DETECTION_STATE) public void enable(@NonNull java.util.concurrent.Executor, @NonNull android.security.intrusiondetection.IntrusionDetectionManager.CommandCallback);
    method @RequiresPermission(android.Manifest.permission.READ_INTRUSION_DETECTION_STATE) public void removeStateCallback(@NonNull java.util.function.Consumer<java.lang.Integer>);
    field public static final int ERROR_DATA_SOURCE_UNAVAILABLE = 4; // 0x4
    field public static final int ERROR_PERMISSION_DENIED = 1; // 0x1
    field public static final int ERROR_TRANSPORT_UNAVAILABLE = 3; // 0x3
@@ -12910,7 +12910,7 @@ package android.security.forensic {
    field public static final int STATE_UNKNOWN = 0; // 0x0
  }
  public static interface ForensicManager.CommandCallback {
  public static interface IntrusionDetectionManager.CommandCallback {
    method public void onFailure(int);
    method public void onSuccess();
  }
+13 −8
Original line number Diff line number Diff line
@@ -243,8 +243,8 @@ import android.security.attestationverification.AttestationVerificationManager;
import android.security.attestationverification.IAttestationVerificationManagerService;
import android.security.authenticationpolicy.AuthenticationPolicyManager;
import android.security.authenticationpolicy.IAuthenticationPolicyService;
import android.security.forensic.ForensicManager;
import android.security.forensic.IForensicService;
import android.security.intrusiondetection.IIntrusionDetectionService;
import android.security.intrusiondetection.IntrusionDetectionManager;
import android.security.keystore.KeyStoreManager;
import android.service.oemlock.IOemLockService;
import android.service.oemlock.OemLockManager;
@@ -1818,15 +1818,20 @@ public final class SystemServiceRegistry {
                    }
                });

        registerService(Context.FORENSIC_SERVICE, ForensicManager.class,
                new CachedServiceFetcher<ForensicManager>() {
        registerService(Context.INTRUSION_DETECTION_SERVICE, IntrusionDetectionManager.class,
                new CachedServiceFetcher<IntrusionDetectionManager>() {
                    @Override
                    public ForensicManager createService(ContextImpl ctx)
                    public IntrusionDetectionManager createService(ContextImpl ctx)
                            throws ServiceNotFoundException {
                        if (!android.security.Flags.aflApi()) {
                            throw new ServiceNotFoundException(
                                    "Intrusion Detection is not supported");
                        }
                        IBinder b = ServiceManager.getServiceOrThrow(
                                Context.FORENSIC_SERVICE);
                        IForensicService service = IForensicService.Stub.asInterface(b);
                        return new ForensicManager(service);
                                Context.INTRUSION_DETECTION_SERVICE);
                        IIntrusionDetectionService service =
                                IIntrusionDetectionService.Stub.asInterface(b);
                        return new IntrusionDetectionManager(service);
                    }
                });

+3 −3
Original line number Diff line number Diff line
@@ -5713,12 +5713,12 @@ public abstract class Context {
    public static final String BINARY_TRANSPARENCY_SERVICE = "transparency";

    /**
     * System service name for ForensicService.
     * The service manages the forensic info on device.
     * System service name for IntrusionDetectionService.
     * The service manages the intrusion detection info on device.
     * @hide
     */
    @FlaggedApi(android.security.Flags.FLAG_AFL_API)
    public static final String FORENSIC_SERVICE = "forensic";
    public static final String INTRUSION_DETECTION_SERVICE = "intrusion_detection";

    /**
     * System service name for the DeviceIdleManager.
+7 −7
Original line number Diff line number Diff line
@@ -14,25 +14,25 @@
 * limitations under the License.
 */

package android.security.forensic;
import android.security.forensic.ForensicEvent;
package android.security.intrusiondetection;
import android.security.intrusiondetection.IntrusionDetectionEvent;

import com.android.internal.infra.AndroidFuture;

/** {@hide} */
oneway interface IForensicEventTransport {
oneway interface IIntrusionDetectionEventTransport {
    /**
     * Initialize the server side.
     */
    void initialize(in AndroidFuture<int> resultFuture);

    /**
     * Send forensic logging data to the backup destination.
     * The data is a list of ForensicEvent.
     * The ForensicEvent is an abstract class that represents
     * Send intrusiondetection logging data to the backup destination.
     * The data is a list of IntrusionDetectionEvent.
     * The IntrusionDetectionEvent is an abstract class that represents
     * different type of events.
     */
    void addData(in List<ForensicEvent> events, in AndroidFuture<int> resultFuture);
    void addData(in List<IntrusionDetectionEvent> events, in AndroidFuture<int> resultFuture);

    /**
     * Release the binder to the server.
+35 −0
Original line number Diff line number Diff line
@@ -14,22 +14,22 @@
 * limitations under the License.
 */

package android.security.forensic;
package android.security.intrusiondetection;

import android.security.forensic.IForensicServiceCommandCallback;
import android.security.forensic.IForensicServiceStateCallback;
import android.security.intrusiondetection.IIntrusionDetectionServiceCommandCallback;
import android.security.intrusiondetection.IIntrusionDetectionServiceStateCallback;

/**
 * Binder interface to communicate with ForensicService.
 * Binder interface to communicate with IntrusionDetectionService.
 * @hide
 */
interface IForensicService {
    @EnforcePermission("READ_FORENSIC_STATE")
    void addStateCallback(IForensicServiceStateCallback callback);
    @EnforcePermission("READ_FORENSIC_STATE")
    void removeStateCallback(IForensicServiceStateCallback callback);
    @EnforcePermission("MANAGE_FORENSIC_STATE")
    void enable(IForensicServiceCommandCallback callback);
    @EnforcePermission("MANAGE_FORENSIC_STATE")
    void disable(IForensicServiceCommandCallback callback);
interface IIntrusionDetectionService {
    @EnforcePermission("READ_INTRUSION_DETECTION_STATE")
    void addStateCallback(IIntrusionDetectionServiceStateCallback callback);
    @EnforcePermission("READ_INTRUSION_DETECTION_STATE")
    void removeStateCallback(IIntrusionDetectionServiceStateCallback callback);
    @EnforcePermission("MANAGE_INTRUSION_DETECTION_STATE")
    void enable(IIntrusionDetectionServiceCommandCallback callback);
    @EnforcePermission("MANAGE_INTRUSION_DETECTION_STATE")
    void disable(IIntrusionDetectionServiceCommandCallback callback);
}
Loading