सुरक्षा कोड का स्ट्रक्चर दिखाएं

इस पेज पर, Display Safety के सोर्स कोड के संगठन के बारे में बताया गया है.

ज़्यादा जानकारी के लिए, हर डायरेक्ट्री में मौजूद README.md फ़ाइल देखें.

रिपॉज़िटरी को क्लोन करना

रिपॉज़िटरी का ऐक्सेस पाने के लिए, अपने Google तकनीकी खाता मैनेजर से संपर्क करें.

Framework

इस डायरेक्ट्री में, Display Safety फ़्रेमवर्क के मुख्य कॉम्पोनेंट शामिल होते हैं.

डायरेक्ट्री मकसद
api/har-platform-api यह उन प्लैटफ़ॉर्म पर उपलब्ध है जिन पर HAR ऐप्लिकेशन बनाए जा सकते हैं. इसमें प्लैटफ़ॉर्म सबसिस्टम ऐब्स्ट्रैक्शन का कलेक्शन होता है.
api/har-types हार्डवेयर ऐब्स्ट्रैक्शन लेयर के टाइप.
asset-manager रनटाइम ऐप्लिकेशन ऐसेट को मैनेज करने के लिए टूल.
audio/har-audio HAR ऑडियो चलाने के लिए क्रेट
customizations इसमें एपीआई, लागू करने के तरीके, और मैक्रो शामिल होते हैं. इनकी मदद से, HAR पर आधारित ऐप्लिकेशन से डिज़ाइन में बदलाव किए जाते हैं.
derive/har-ui-model-derive HAR यूज़र इंटरफ़ेस (यूआई) मॉडल सिस्टम में इस्तेमाल होने वाली सामान्य विशेषताओं को पाने के लिए, प्रोसीजरल मैक्रो
display_list यह रेंडरिंग के लिए सीन के बारे में बताने वाली संरचनाओं और कॉम्पोनेंट को तय करता है. यह किसी भी ग्राफ़िकल बैकएंड से अलग होता है.
graphics/external-image बाहरी इमेज के प्रज़ेंटेशन के लिए एक क्रेट.
graphics/har-gl-context यह ग्राफ़िक्स कॉन्टेक्स्ट एपीआई के बारे में बताता है. इसमें डिसप्ले और ऑफ़-स्क्रीन रेंडरिंग, दोनों के लिए, काम करने वाले प्लैटफ़ॉर्म पर कई तरह के इंप्लीमेंटेशन शामिल होते हैं.
graphics/impeller Impeller के लिए Safe Rust API, जो जनरेट की गई FFI बाइंडिंग पर आधारित है.
graphics/impeller-renderer Impeller को रेंडरिंग इंजन के तौर पर इस्तेमाल करके, हाई-लेवल रेंडरर को लागू करना.
har-layout यह Taffy के लिए एक रैपर है. इसका इस्तेमाल HAR में व्यू के लेआउट का हिसाब लगाने के लिए किया जाता है.
har-monitoring परफ़ॉर्मेंस मॉनिटर करने वाला टूलकिट.
har-utils सामान्य यूटिलिटी.
harry HAR ऐप्लिकेशन बनाने के लिए, इस फ़्रेमवर्क का इस्तेमाल किया जाता है
harry-animation हैरी के लिए ऐनिमेशन एपीआई और उसे लागू करने का तरीका
squoosh यह हैरी फ़्रेमवर्क में व्यू पैरामीटर के लिए इंटरमीडिएट रिप्रेजेंटेशन और ऐनिमेशन इंजन है.
task-scheduler यह क्लास, टास्क शेड्यूल करने और उन्हें तय समय के बाद बैकग्राउंड थ्रेड में चलाने के लिए इस्तेमाल की जाती है.
test_suites डिसप्ले सेफ्टी की यूनिट टेस्ट चलाने के लिए टेस्ट सुइट

पहले से बनाए गए

इस डायरेक्ट्री में पहले से बनी लाइब्रेरी और ऐसेट मौजूद होती हैं.

डायरेक्ट्री मकसद
impeller/ Impeller ग्राफ़िक्स इंजन के लिए पहले से बनी लाइब्रेरी, जिन्हें ओएस और आर्किटेक्चर के हिसाब से व्यवस्थित किया गया है.
impeller-rs-bindgen/ Impeller के लिए Rust FFI बाइंडिंग.
impeller-rs-bindgen-wrapper/ यह Impeller बाइंडिंग के लिए एपीआई रैपर है.

रेफ़रंस

इस डायरेक्ट्री में, HAR के रेफ़रंस को लागू करने का तरीका, प्लैटफ़ॉर्म के हिसाब से लागू करने के तरीके, टूल, और टेस्ट आर्टफ़ैक्ट शामिल होते हैं.

डायरेक्ट्री मकसद
audio/tinyalsa-rs Tinyalsa ऑडियो लाइब्रेरी के लिए, Rust FFI बाइंडिंग.
audio/tinyalsa-audio ऑडियो चलाने और डिवाइस मैनेज करने के लिए लाइब्रेरी. यह `tinyalsa-rs` क्रेट से जनरेट किए गए FFI बाइंडिंग पर आधारित है
camera/emulated-camera यह `har-platform-api` से `Camera` ट्रेट का इस्तेमाल करके, एक इम्यूलेटेड कैमरे को लागू करता है.
graphics/gl-helpers GL हेल्पर फ़ंक्शन वाला यूटिलिटी क्रेट
har-user-input-evdev/ यह evdev पर आधारित इनपुट हैंडलिंग को लागू करता है. यह कीबोर्ड, माउस, और टच (सिंगल और मल्टी-टच) इवेंट के साथ काम करता है
harry-app/ `harry` फ़्रेमवर्क का इस्तेमाल करके बनाया गया, पोर्टेबल हाई अवेलेबिलिटी रेंडरर (एचएआर) ऐप्लिकेशन के लिए रेफ़रंस इंप्लीमेंटेशन.
harry-app-core/ `harry-app` रेफ़रंस ऐप्लिकेशन के लिए, ऐप्लिकेशन की मुख्य लॉजिक, स्टेट मैनेजमेंट, और यूज़र इंटरफ़ेस (यूआई) मॉडल की परिभाषाएं.
harry-app-utils/ `harry-app` रेफ़रंस ऐप्लिकेशन के लिए, यूटिलिटी फ़ंक्शन और हेल्पर मॉड्यूल.
harry-control-api/ `harry-app` रेफ़रंस ऐप्लिकेशन के लिए एपीआई कंट्रोल करें.
harry-grpcio-server/ gRPC सर्वर (grpcio पर आधारित). इसका इस्तेमाल सिर्फ़ तब किया जाता है, जब Android वर्शन को soong की मदद से बनाया जा रहा हो
harry-tonic-server/ gRPC सर्वर (टॉनिक पर आधारित). इसका इस्तेमाल सिर्फ़ तब किया जाता है, जब Cargo की मदद से Linux वर्शन बनाया जा रहा हो.
harry-vehicle-data-grpc/ वाहन के डेटा का gRPC कोड, जो वाहन के डेटा की प्रोटो फ़ाइलों से जनरेट होता है.
i18n/harry-app-i18n HAR के लिए, अंतरराष्ट्रीय और स्थानीय भाषा के अनुसार सेवाएं.
i18n/i18n-protos यह i18n डेटा के लिए, प्रोटोबफ़ मैसेज और Rust कोड जनरेशन को तय करता है.
libyuv-rs/ libyuv के लिए Rust बाइंडिंग.
platforms/har-log यह हर उस प्लैटफ़ॉर्म के लिए लॉग और ट्रेसिंग लागू करने के बारे में बताता है जिस पर यह सुविधा काम करती है.
platforms/har-looper-headless हेडलेस रेंडरिंग के लिए, प्लैटफ़ॉर्म से अलग लूपर लागू करने की सुविधा.
platforms/har-platform-android यह `har-platform-api` प्लैटफ़ॉर्म के ऐब्स्ट्रैक्शन के Android के हिसाब से लागू किए गए वर्शन उपलब्ध कराता है.
platforms/har-platform-linux यह कुकी, `har-platform-api` प्लैटफ़ॉर्म के ऐब्स्ट्रैक्शन के Linux के लिए खास तौर पर बनाए गए वर्शन उपलब्ध कराती है.
platforms/harry-app-platform-specific harry-app के लिए, शर्तों के हिसाब से कंपाइल करने वाला ब्रिज. यह चुने गए प्लैटफ़ॉर्म के आधार पर, सही तरीके से लागू करने की सुविधा देता है.
safety-monitor Android के लिए, रेफ़रंस सेफ्टी मॉनिटर लागू किया गया.
screencap स्क्रीन कैप्चर करने की सुविधा, ताकि DRM फ़्रेमबफ़र से सीधे तौर पर स्क्रीनशॉट निकाले जा सकें
vehicle-data-scripts स्क्रिप्ट की मदद से, वाहन के डेटा के क्रम बनाने के लिए स्ट्रक्चर और लॉजिक

सेवा

इस डायरेक्ट्री में, डिसप्ले की सुरक्षा से जुड़ी Android सेवाएं शामिल हैं.

डायरेक्ट्री मकसद
ds-cvd-toolkit Display Safety के लिए कमांड-लाइन टूल. इसकी मदद से, एक साथ कई Cuttlefish डिवाइस लॉन्च किए जा सकते हैं.
emulator रनटाइम रिसॉर्स ओवरले के लिए एम्युलेटर की सुविधा
har-grpc-services इसमें प्रोटो की वे परिभाषाएं शामिल होती हैं जिनका इस्तेमाल रेफ़रंस के तौर पर लागू किए गए समाधान में किया जाता है. इनकी मदद से, HAR ऐप्लिकेशन, DriverUI, और वाहन के डेटा से जुड़ी सेवाओं के बीच कम्यूनिकेशन चैनल बनाए जाते हैं.
har-sdv-service* यह SDV सर्विस बंडल उपलब्ध कराता है. इसका इस्तेमाल HAR को डेटा सेवाएं देने के लिए किया जाता है. यह proto फ़ाइलों से जनरेट किए गए कोड का इस्तेमाल करता है
har-tracing-common HAR के लिए परफ़ॉर्मेंस ट्रेसिंग सेवाएं
harry-prebuilt/ पहले से बनाए गए Harry कॉम्पोनेंट (ऐसेट, कॉन्फ़िगरेशन वगैरह)
ivi/ Android IVI (इन-व्हीकल इन्फ़ोटेनमेंट) से जुड़े कॉम्पोनेंट
libhar_graphics/ HAR सेवाओं के लिए C++ ग्राफ़िक्स लाइब्रेरी.
pdk/ PDK की मदद से रिलीज़ किए गए कॉन्टेंट का मेटाडेटा
product/ प्रॉडक्ट के हिसाब से कॉन्फ़िगरेशन और ऐसेट
SdvCameraPreviewApp SDV के लिए, कैमरे की झलक दिखाने वाला ऐप्लिकेशन.
vehicledata यह gRPC का इस्तेमाल करके, वाहन के डेटा के SDV डेटा टनल पब्लिशर को लागू करता है

Utils

इस डायरेक्ट्री में, रेफ़रंस के तौर पर लागू करने और टेस्टिंग के लिए सामान्य यूटिलिटी शामिल होती हैं.

डायरेक्ट्री मकसद
asset-manager-cli यह टूल, ऐसेट पैकेज जनरेट करने के लिए कमांड लाइन इंटरफ़ेस उपलब्ध कराता है.
dcf-info/ यह टूल, DCF (Serialized Design Compose Figma दस्तावेज़) से मेटाडेटा एक्सट्रैक्ट करने के लिए है.
figma-utils यह `figma_import` के लिए कमांड लाइन रैपर उपलब्ध कराता है, ताकि क्रम से लगाए गए Figma दस्तावेज़ों को फ़ेच किया जा सके.
gauge-test यह ऐप्लिकेशन, डायल और गेज यूज़र इंटरफ़ेस (यूआई) एलिमेंट की जांच करने और उन्हें दिखाने के लिए बनाया गया है.
gui-playground-app नए यूज़र इंटरफ़ेस (यूआई) और ऐनिमेशन की सुविधाओं को टेस्ट करने के लिए सैंडबॉक्स एनवायरमेंट.
har-platform-tests प्लैटफ़ॉर्म के हिसाब से, खास सुविधाओं को लागू करने के लिए इंटिग्रेशन टेस्ट का सुइट.
har-rendering-parity यह एक विज़ुअल टूल है. इसकी मदद से, HAR, DesignCompose, और Figma के बीच रेंडरिंग पैरिटी की पुष्टि की जा सकती है.
harry-rpc-client यह RPC के ज़रिए Harry को निर्देश भेजने के लिए, कमांड लाइन इंटरफ़ेस उपलब्ध कराता है.
human-readable-report-generator सुरक्षा से जुड़ी चीज़ों की पुष्टि करने के लिए, विज़ुअल की सुविधा.
ktx-utils यह Khronos KTX 2.0 टेक्सचर फ़ाइलों को एन्कोड और डिकोड करने के लिए यूटिलिटी उपलब्ध कराता है.
list-test-app यह कुकी, HAR में सूची को मैनेज करने के लिए टेस्टिंग और डेमोंस्ट्रेशन एनवायरमेंट के तौर पर काम करती है.
transfer-localizations Android की एक्सएमएल फ़ाइल को HAR प्रोटो फ़ॉर्मैट में बदलने के लिए यूटिलिटी.
variable-density-analyzer यह फ़ंक्शन, Figma दस्तावेज़ का विश्लेषण करता है. साथ ही, नोड और डिज़ाइन वैरिएबल के अनुपात का हिसाब लगाता है.