Add skeleton implementation for Attention API

This service will let the system know whether the user is paying attention to
the device. This may be useful in certain scenarios - like keeping the screen
on, even when there has been no touch related user activity.

New permission BIND_ATTENTION_SERVICE is added to ensure that only the system
can bind to the attention service.

Test: manually tested the lifecycle is as expected
Bug: 111939367
Change-Id: I2dab9c69f3d0c6efb0db572f797f517dc6efcc72
This commit is contained in:
Alex Salo
2018-12-12 14:44:28 -08:00
parent 0bf94c6d3e
commit b81472f7e2
11 changed files with 886 additions and 2 deletions

View File

@@ -74,6 +74,7 @@ import com.android.internal.util.EmergencyAffordanceManager;
import com.android.internal.widget.ILockSettings;
import com.android.server.am.ActivityManagerService;
import com.android.server.appbinding.AppBindingService;
import com.android.server.attention.AttentionManagerService;
import com.android.server.audio.AudioService;
import com.android.server.biometrics.BiometricService;
import com.android.server.biometrics.face.FaceService;
@@ -148,10 +149,11 @@ import com.android.server.webkit.WebViewUpdateService;
import com.android.server.wm.ActivityTaskManagerService;
import com.android.server.wm.WindowManagerGlobalLock;
import com.android.server.wm.WindowManagerService;
import com.google.android.startop.iorap.IorapForwardingService;
import dalvik.system.VMRuntime;
import com.google.android.startop.iorap.IorapForwardingService;
import java.io.File;
import java.io.IOException;
import java.util.Locale;
@@ -1230,6 +1232,10 @@ public final class SystemServer {
traceEnd();
}
traceBeginAndSlog("StartAttentionManagerService");
mSystemServiceManager.startService(AttentionManagerService.class);
traceEnd();
traceBeginAndSlog("StartNetworkScoreService");
mSystemServiceManager.startService(NetworkScoreService.Lifecycle.class);
traceEnd();