27 মার্চ, 2025 থেকে, আমরা AOSP তৈরি করতে এবং অবদান রাখতে aosp-main এর পরিবর্তে android-latest-release ব্যবহার করার পরামর্শ দিচ্ছি। আরও তথ্যের জন্য, AOSP-তে পরিবর্তনগুলি দেখুন।
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
এই বৈশিষ্ট্যটি অংশীদারদের Android অটোমোটিভ অপারেটিং সিস্টেম (AAOS) থেকে বা যানবাহন সিস্টেম থেকে Android-এ সময় কীভাবে সিঙ্ক্রোনাইজ করতে হবে তা চয়ন করতে সক্ষম করে৷ গুণমান বাস্তবায়ন নিশ্চিত করতে, আপনি মানগুলি কার্যকরভাবে প্রচার করতে নীচে বর্ণিত দুটি নতুন VHAL বৈশিষ্ট্যগুলির একটি ব্যবহার করতে AAOS কনফিগার করতে পারেন। ব্যবহার করুন:
ANDROID_EPOCH_TIME সময়ের জন্য সত্যের উৎস হিসাবে Android ব্যবহার করতে । VHAL এই শুধুমাত্র-লেখার বৈশিষ্ট্যকে সমর্থন করে, যা Android থেকে অন্যান্য যানবাহন সিস্টেম যেমন ইলেক্ট্রনিক কন্ট্রোল ইউনিট (ECU) এবং বডি কন্ট্রোল মডিউল (BCM) এর সাথে সময়ের পরিবর্তনের সাথে যোগাযোগ করে।
সময়ের জন্য সত্যের উৎস হিসাবে Android ব্যবহার না করার জন্য EXTERNAL_CAR_TIME । এই ক্ষেত্রে, VHAL শুধুমাত্র-পঠনযোগ্যEXTERNAL_CAR_TIME বৈশিষ্ট্যকে সমর্থন করে, যা অন্যান্য যানবাহন সিস্টেম (যেমন ECU এবং BCM) থেকে Android-এ সময়ের পরিবর্তনগুলিকে যোগাযোগ করে৷
AAOS একটি কনফিগারযোগ্য TimeDetectorStrategy প্রদান করে যা আপনাকে Android-এর মধ্যে বিভিন্ন সময়ের উৎসকে অগ্রাধিকার দিতে সাহায্য করে।
অ্যান্ড্রয়েড সময়ের জন্য সত্যের উৎস
যখন অ্যান্ড্রয়েডকে সময়ের উৎস হিসাবে ব্যবহার করা হয়, তখন OEMগুলি অন্যান্য গাড়ির সিস্টেমগুলিকে (ECU এবং একটি BCM সহ) Android সময়ের সাথে সিঙ্ক্রোনাইজ করতে পারে৷
এটি করার জন্য, VHAL বাস্তবায়নকে অবশ্যই শুধুমাত্র লেখার বৈশিষ্ট্য ANDROID_EPOCH_TIME বৈশিষ্ট্য সমর্থন করতে হবে৷ অ্যান্ড্রয়েড বুট করার সময় এবং যখনই অ্যান্ড্রয়েডের সময় উৎস পরিবর্তন করা হয় তখন সিস্টেমের সময় পড়ার মাধ্যমে সম্পত্তিতে একটি আপডেট প্রকাশ করে।
অ্যান্ড্রয়েড সময়ের জন্য সত্যের উৎস নয়
যখন অ্যান্ড্রয়েডকে সময়ের উৎস হিসেবে ব্যবহার করা হয় না , তখন আপনি সময়ের জন্য সত্যের উৎস হতে অ্যান্ড্রয়েড সময়কে সিঙ্ক্রোনাইজ করতে পারেন (উদাহরণস্বরূপ, একটি ECU বা BCM সহ)। এই ক্ষেত্রে, VHAL বাস্তবায়নকে অবশ্যই EXTERNAL_CAR_TIME শুধুমাত্র-পঠনযোগ্য বৈশিষ্ট্য সমর্থন করতে হবে এবং যখনই সময়ের উৎস পরিবর্তন বা ঘড়ির পুনঃক্রমানুসারে এই সম্পত্তির আপডেট প্রকাশ করতে হবে।
OEMগুলিকে অবশ্যই নিশ্চিত করতে হবে যে:
config_autoTimeSourcesPriority মানগুলি core/res/res/values/config.xml এ রয়েছে।
CarServices ওভারলে কনফিগার packages/services/Car/service/res/values/config.xml এ config_enableExternalCarTimeToExternalTimeSuggestion বৈশিষ্ট্যটি true হিসাবে সেট করা হয়েছে।
TimeDetectorStrategy কনফিগারেশনে external সময়ের উপযুক্ত অগ্রাধিকার রয়েছে। আরও জানতে, GNSS সময় সনাক্তকরণ দেখুন। যেমন:
<!-- Specifies priority of automatic time sources. Suggestions from higher entries in the list take precedence over lower ones.
See com.android.server.timedetector.TimeDetectorStrategy for available sources. -->
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
<item>network</item>
<item>telephony</item>
</string-array>
অ্যান্ড্রয়েড অভ্যন্তরীণ বাস্তবায়নের বিবরণ
ANDROID_EPOCH_TIME VHAL সম্পত্তি সমর্থিত হলে নিম্নলিখিত প্রবাহটি ঘটে:
TimeHalService (CarServices-এ) Intent.ACTION_TIME_CHANGED এর জন্য Android সিস্টেম থেকে একটি সম্প্রচার পায়।
TimeHalService VHAL সম্পত্তি ANDROID_EPOCH_TIME এ একটি আপডেট প্রকাশ করে।
VHAL বিভিন্ন ECU এবং/অথবা BCM ইউনিটে প্রাপ্ত সময়ের মূল্য প্রচার করতে পারে।
EXTERNAL_CAR_TIME VHAL সম্পত্তি সমর্থিত হলে নিম্নলিখিত প্রবাহটি ঘটে:
VHAL EXTERNAL_CAR_TIME সম্পত্তি আপডেট করে৷
TimeHalService (কারসার্ভিসে) সাবস্ক্রিপশনের মাধ্যমে সম্পত্তি পড়ে।
TimeHalService একটি ExternalTimeSuggestion তৈরি করে এবং TimeManager এ পাঠায়।
TimeManager পরামর্শটি TimeDetectorService এ ফরোয়ার্ড করে।
TimeDetectorService একটি নতুন সিস্টেম সময় বেছে নিতে TimeDetectorStrategy ব্যবহার করে।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Configure AAOS time sources\n\nThis feature enables partners to choose how to synchronize time, whether from the Android\nAutomotive Operating System (AAOS) **or** from vehicular systems to Android.\nTo ensure quality implementations, you can configure AAOS to use one of the two new VHAL properties\ndescribed below to propagate the values effectively. Use:\n\n- `ANDROID_EPOCH_TIME` to **use** Android as the source of truth for time. The VHAL supports this *write-only* property, which communicates time changes from Android to other vehicular systems, such as the Electronic Control Units (ECU) and the Body Control Module (BCM).\n- `EXTERNAL_CAR_TIME` to **not use** Android as the source of truth for time. In this case, the VHAL supports the *read-only* `EXTERNAL_CAR_TIME` property, which communicates time changes from other vehicular systems (such as ECUs and BCM) to Android.\n\n| **Warning:** If you opt to support both properties (not recommended), the VHAL must **never** publish values to `EXTERNAL_CAR_TIME` that are dependent on `ANDROID_EPOCH_TIME`.\n\nAAOS also provides a configurable `TimeDetectorStrategy` to help you prioritize\ndifferent time sources within Android.\n\n### Android is the source of truth for time\n\nWhen Android is used as the source of time, OEMs can synchronize other car systems (including\nECUs and a BCM) with Android time.\n\nTo do so, the VHAL implementation must support the *write-only* property\n`ANDROID_EPOCH_TIME` property. Android publishes an update to the property by reading\nsystem time, both at boot time and whenever the time source in Android is changed.\n\n### Android is not the source of truth for time\n\nWhen Android is **not** used as the source of time, you can synchronize Android time\nto be the source of truth for time (for example, with an ECU or the BCM). In this case, the\nVHAL implementation must support the read-only property `EXTERNAL_CAR_TIME` and publish\nupdates to this property whenever the source of time changes or recalibrates the clock.\n\nOEMs must also ensure that:\n\n- The `config_autoTimeSourcesPriority` values are contained in `core/res/res/values/config.xml`.\n- The `config_enableExternalCarTimeToExternalTimeSuggestion` property in the CarServices overlay configs `packages/services/Car/service/res/values/config.xml` is set to `true`.\n- `external` time has the appropriate priority in the `TimeDetectorStrategy` configuration. To learn more, see [GNSS Time Detection](/devices/tech/connect/time/gnss-time-detection#implement). For example: \n\n ```scdoc\n \u003c!-- Specifies priority of automatic time sources. Suggestions from higher entries in the list take precedence over lower ones.\n See com.android.server.timedetector.TimeDetectorStrategy for available sources. --\u003e\n \u003cstring-array name=\"config_autoTimeSourcesPriority\"\u003e\n \u003citem\u003eexternal\u003c/item\u003e\n \u003citem\u003egnss\u003c/item\u003e\n \u003citem\u003enetwork\u003c/item\u003e\n \u003citem\u003etelephony\u003c/item\u003e\n \u003c/string-array\u003e\n ```\n\n| The VHAL implementation must **not** publish updates for the natural progression of time.\n\nAndroid internal implementation details\n---------------------------------------\n\nThe following flow takes place when the `ANDROID_EPOCH_TIME` VHAL property is\nsupported:\n\n1. `TimeHalService` (in CarServices) receives a broadcast from the Android system for `Intent.ACTION_TIME_CHANGED`.\n2. `TimeHalService` publishes an update to the VHAL Property `ANDROID_EPOCH_TIME`.\n3. The VHAL can propagate the time value received to various ECUs and/or BCM units.\n\nThe following flow takes place when the `EXTERNAL_CAR_TIME` VHAL property is\nsupported:\n\n1. VHAL updates the `EXTERNAL_CAR_TIME` property.\n2. `TimeHalService` (in CarServices) reads the property through a subscription.\n3. `TimeHalService` creates and sends an `ExternalTimeSuggestion` to `TimeManager`.\n4. `TimeManager` forwards the suggestion to `TimeDetectorService`.\n5. `TimeDetectorService` uses `TimeDetectorStrategy` to choose a new system time."]]