前面几篇文章介绍了多用户和多屏相关的 Manager 和 Service。上一篇文章最后虽然车内乘员
都根据配置有自己的对应屏幕
,但默认情况下,所有车内乘员
依然使用的是当前主用户(司机用户),这一篇我们继续放下看一下用户的创建与分配。
对于创建用户及分配用户的方法均在 CarUserService 中。
源码位置:/packages/services/Car/service/src/com/android/car/user/CarUserService.java
private void onUserSwitching(@UserIdInt int fromUserId, @UserIdInt int toUserId) {
TimingsTraceLog t = new TimingsTraceLog(TAG_USER, Trace.TRACE_TAG_SYSTEM_SERVER);
t.traceBegin("onUserSwitching-" + toUserId);
// 如果CarUserService没有请求用户Switch,则切换HAL用户
notifyHalLegacySwitch(fromUserId, toUserId);
mCarUserManagerHelper.setLastActiveUser(toUserId);
if (mLastPassengerId != UserHandle.USER_NULL) {
stopPassengerInternal(mLastPassengerId, false);
}
// 1.config.xml中的配置开关enableP