AOSP android userprofile r version for car

tpvtpv 54 views 8 slides Aug 09, 2024
Slide 1
Slide 1 of 8
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8

About This Presentation

Android automotive profiles


Slide Content

TOPICS Covered for the session Device Management Overview Fixed lines Smaller logo, in line with the title Additional real estate on the slide User Profile Management Overview User Profile – Architecture Manage users : User interface User Profile – Technical Details Q & A

Multi-user support User Profile Management Overview User management involves users , accounts , and app data . User. Each User is intended to be used by a different physical person. Each User has distinct app data, accounts, and some unique settings, as well as a user interface to explicitly switch between Users. Account. Accounts are contained within a User but are not defined by a user, nor is a user defined by or linked to any given account. App data. Exists within each User and is sandboxed from other apps within the same User. User Profile Management Overview

ARCHITECTURE User Profile Management Overview

Manage users and accounts: User interface User Profile Management Overview CarSettings . The Car Settings app contains the UI for managing Users and accounts. User Picker. Upon a device boot, the system UI provides a User Picker screen for a person to switch between existing and to create new Users. The above mentioned two approaches helps in process of creating, managing, and personalizing user profiles within the Android Automotive system. • Profile Creation and Setup: o How users create and set up profiles. o Customizing user information and preferences. • Profile Switching: o Mechanisms for switching between different profiles. • Profile Deletion: o Deleting of a Specific User The above-mentioned Profile Management user actions are explained in upcoming slides:

User Profile – Technical Details User Profile Management Overview Android Q (API level 29) Added an overlay flag to disable user switching in the car service during a boot or cold start. To improve boot-up performance, the automatic starting of non-essential packages for headless user 0 have been disabled. Android R (API level 30) Updated Multi-User APIs. Moved the Android Automotive OS multi-user management API surface (for example, CarUserManagerHelper ) into the core framework (for example, UserManager ) to make it easier for OEMs to integrate and upgrade apps. User Roles and Restrictions. Added support to make it easier for OEMs to customize user roles and restrictions. Faster User Switching. Improved user switching and multi-user performance, including user pre-creation and removing packages from the system user. CarUserHAL . Added user management support (for example, to switch users) integration between external ECUs and Android. Trusted Device Unlocking. Improved unlocking performance of users and of the system experience (see System UI.) Face Authentication. Added support for face authentication as an option to bypass a user’s lockscreen, including a reference authentication experience and settings.

User Types, Roles and Restrictions User Profile Management Overview Android Automotive supports these types of Users : Headless System User : User runs in the background and hosts all system services. (isn't intended to be used by a physical person) Regular User : User is intended to be used by a different physical person. Guest User : users can include temporary users, such as friends, who borrow a vehicle. Roles and restrictions The following User roles are supported: Admin : By default, regular Users with the role of Admin can perform every task. Non-Admin : By default, regular Users with the role Non-Admin can't factory data reset the device, grant themselves an Admin role, or delete other Users. Guest : By default, a Guest User can neither factory data reset the device nor delete other Users. By default, Guest is also ephemeral.

USER PROFILE API Details User Profile Management Overview Profile API CreateUser : createUser api form CarUsermanager DeleteUser : removeUser api from CarUserManager Switch User: swtichUser api from CarUserManager Preferences API : manage user-specific preferences using SharedPreferences . SharedPreferences prefs = context.getSharedPreferences (" profile_prefs ", Context.MODE_PRIVATE ); SharedPreferences.Editor editor = prefs.edit (); editor.putString ("key", "value"); editor.apply (); Profile specific Data location: Path System path (optional) Purpose /data/user/{ userId }/{ app.path } /data/data App storage /data/media/{ userId } none User media data

Reference links User Profile Management Overview https://source.android.com/docs/automotive/users_accounts/user_system https://source.android.com/docs/automotive/users_accounts/multi_user https://developer.android.com/reference/android/accounts/Account.html https://developer.android.com/reference/android/content/Intent#ACTION_USER_INITIALIZE https://developer.android.com/reference/android/content/Intent#ACTION_USER_PRESENT https://developer.android.com/reference/android/content/Intent#ACTION_USER_UNLOCKED https://developer.android.com/reference/android/content/Intent#ACTION_USER_FOREGROUND https://developer.android.com/reference/android/content/Intent#ACTION_USER_BACKGROUND https://source.android.com/docs/devices/admin/multi-user-testing
Tags