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

Commit 47580099 authored by Joanne Chung's avatar Joanne Chung Committed by Ahaan Ugale
Browse files

Use flag to control the restart period value.

Bug: 224618257
Test: adb shell cmd device_config get/put voice_interaction \
restart_period_in_seconds works fine
Test: the value is expected by command: adb shell dumpsys \
voiceinteraction | grep RESTART_PERIOD_SECONDS

Change-Id: Icd8d19c2a482d0d6b9bf0432e2176ca10f3bd2eb
Merged-In: Icd8d19c2a482d0d6b9bf0432e2176ca10f3bd2eb
(cherry picked from commit 46e69448)
parent fc651fe0
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -512,6 +512,13 @@ public final class DeviceConfig {
    @SystemApi
    public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";

    /**
     * Definitions for voice interaction related functions.
     *
     * @hide
     */
    public static final String NAMESPACE_VOICE_INTERACTION = "voice_interaction";

    /**
     * List of namespaces which can be read without READ_DEVICE_CONFIG permission
     *
+5 −1
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ import android.os.Process;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SharedMemory;
import android.provider.DeviceConfig;
import android.service.voice.HotwordDetectedResult;
import android.service.voice.HotwordDetectionService;
import android.service.voice.HotwordRejectedResult;
@@ -109,6 +110,7 @@ final class HotwordDetectionConnection {
    private static final String TAG = "HotwordDetectionConnection";
    static final boolean DEBUG = false;

    private static final String KEY_RESTART_PERIOD_IN_SECONDS = "restart_period_in_seconds";
    // TODO: These constants need to be refined.
    private static final long VALIDATION_TIMEOUT_MILLIS = 4000;
    private static final long MAX_UPDATE_TIMEOUT_MILLIS = 6000;
@@ -119,7 +121,9 @@ final class HotwordDetectionConnection {
     * Time after which each HotwordDetectionService process is stopped and replaced by a new one.
     * 0 indicates no restarts.
     */
    private static final int RESTART_PERIOD_SECONDS = 3600; // 60 minutes
    private static final int RESTART_PERIOD_SECONDS =
            DeviceConfig.getInt(DeviceConfig.NAMESPACE_VOICE_INTERACTION,
                    KEY_RESTART_PERIOD_IN_SECONDS, 3600); // 60 minutes by default
    private static final int MAX_ISOLATED_PROCESS_NUMBER = 10;

    // Hotword metrics