Samsung PRISM Project: On-Device Personalization (ODP) Package Implementation
Introduction
This project was part of the Samsung PRISM (Preparing and Inspiring Student Minds) initiative, which aims to foster collaboration between academia and industry. Our team focused on implementing an On-Device Personalization (ODP) package within the Android Open Source Project (AOSP) environment. The project provided us with hands-on experience in software development and working with cutting-edge technology.
On-device personalization allows applications to offer personalized experiences by processing data directly on the device, ensuring privacy and security. Our task was to integrate the ODP service into the AOSP environment and verify its functionality on an emulator.
Objectives The primary objectives of the project were:
- Build the ODP package after the AOSP build if it is not included in the emulator.
- Verify if the emulator can run the ODP service, and if not, install and make the service runnable.
- Understand the architecture and prepare a design flow.
- Install the test package, understand the API implementation, and list all system API sequence flows.
- Prepare a test app after understanding the test implementation.
Task Breakdown and Progress
Task 1: Build ODP Package after AOSP Build
Objective: Build the ODP package post-AOSP build.
Outcome: The ODP package was successfully built and integrated into the AOSP build system.
Task 2: Verify Emulator ODP Service
Objective: Check whether the emulator can run the ODP service.
Outcome: The emulator was configured to run the ODP service successfully, and an Android application was developed to verify the ODP manager version.
Task 3: Understand Architecture and Prepare Design Flow
Objective: Analyze module components, understand the architecture, and prepare a design flow.
Outcome: A comprehensive design flow was prepared, illustrating the architecture and component interactions.
Task 4: Install Test Package and Understand API Implementation
Objective: Install the test package, understand API implementation, and list all system API sequence flows.
Outcome: This task remains incomplete due to a lack of documentation and device configuration challenges.
Task 5: Prepare Test App
Objective: Prepare a test app after understanding the test implementation.
Outcome: This task remains incomplete due to incomplete API documentation and ongoing configuration issues.
Conclusion Our team made significant progress in the initial stages of the project, successfully building the ODP package, configuring the emulator, and preparing a detailed design flow. However, challenges such as the lack of comprehensive documentation and device configuration issues impeded the completion of the remaining tasks. Future work will focus on resolving these issues to fully understand the API implementation and complete the development of the test app.