डीबग और टेस्ट करना

डायलर एक एकीकृत डिबगिंग और परीक्षण ढांचे से सुसज्जित है जो आपको कॉल-रेडी डिवाइस की आवश्यकता के बिना डायलर ऐप सुविधाओं को मान्य करने में सक्षम बनाता है। इससे ब्लूटूथ और सेलुलर सेवा से जुड़े फोन की आवश्यकता समाप्त हो जाती है। यह डायलर टेस्टिंग फ्रेमवर्क (डीटीएफ) इन प्रक्रियाओं को सरल बनाता है:

  • विचारों को त्वरित रूप से मान्य करने के लिए एक वास्तविक उपकरण स्थापित करने में आमतौर पर समय लगता है।
  • मल्टी-कॉल सुविधाओं के परीक्षण के लिए कम से कम तीन सिम कार्ड से लैस फोन की आवश्यकता होती है, जिनमें से दो का उपयोग केवल कॉल करने के लिए किया जाता है।
  • डिबगिंग डायलर और उसकी निर्भरताएँ।

चूंकि डायलर की कार्यक्षमता टेलीकॉम, टेलीफोनी और ब्लूटूथ हैंड्स फ्री प्रोफाइल (एचएफपी) सहित कई प्रौद्योगिकी स्टैक पर निर्भर करती है, उन निर्भरताओं में उत्पन्न होने वाले बग और मुद्दे डायलर की शिथिलता का कारण बन सकते हैं। डीटीएफ डायलर को इन निर्भरताओं से स्वतंत्र रूप से चलने में सक्षम बनाता है।

विशेषताएँ

DTF ये सुविधाएँ प्रदान करता है:

  • कॉल प्लेसमेंट. एंड्रॉइड डिबग ब्रिज (एडीबी) प्रसारण के साथ टर्मिनल के माध्यम से कॉल-रेडी डिवाइस की आवश्यकता के बिना कॉल रखें और प्राप्त करें।
  • नकली कॉल. कॉल कार्यक्षमता का मज़ाक उड़ाया गया है. इसमें होल्ड करना, म्यूट करना, मर्ज करना और डिस्कनेक्ट करना शामिल है।

डीटीएफ का प्रयोग करें

ध्यान दें: DTF केवल Android 11 या उच्चतर में उपलब्ध है।

डीटीएफ का उपयोग करने के लिए:

  1. CarDialerAppForTesting बिल्ड वेरिएंट को निम्नानुसार बनाएं और इंस्टॉल करें:
    cd %rRepoRoot%/packages/apps/Car/Dialer
    
    m CarDialerAppForTesting
    
    adb install %rRepoRoot%/out/target/product/%buildTarget%/system/priv-app/CarDialerAppForTesting/CarDialerAppForTesting.apk
    

    परिणामस्वरूप, CarDialerAppForTesting परीक्षण डिवाइस पर मूल डायलर ऐप को प्रतिस्थापित कर देता है।

    CarDialerAppForTesting वास्तविक उपकरणों के साथ काम नहीं करता है। वास्तविक डिवाइस के साथ परीक्षण करने के लिए, CarDialerApp.apk पुनः इंस्टॉल करें।

आदेश

निम्नलिखित एडीबी कमांड डायलर के पहली बार लॉन्च होने के बाद ही काम करते हैं और प्रसारण रिसीवर को आरंभ करने की आवश्यकता होती है। डायलर लॉन्च करने के बाद, एक नकली ब्लूटूथ डिवाइस कनेक्ट करना होगा। ऐसा करने के लिए निम्नलिखित (सेटअप) डिवाइस कनेक्ट कमांड का उपयोग करें।

(सेट अप) एक डिवाइस कनेक्ट करें

डायलर के लिए एक नकली ब्लूटूथ कनेक्शन स्थापित करता है और सभी कॉल-संबंधित आदेशों तक पहुंच सक्षम करने के लिए पहले कॉल किया जाना चाहिए।

किसी डिवाइस को कनेक्ट करने के लिए:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "connect"

ध्यान दें: नकली ब्लूटूथ डिवाइस कनेक्ट होने के बाद ही निम्नलिखित में से प्रत्येक कमांड का उपयोग किया जा सकता है।

आउटगोइंग कॉल करें

आउटगोइंग कॉल करने के लिए:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "addCall" --es "id" "4085524874"

इनकमिंग कॉल प्राप्त करें

इनकमिंग कॉल प्राप्त करने के लिए:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "rcvCall" --es "id" "4085524874"

कॉल समाप्त करें

कॉल समाप्त करने के लिए:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "endCall" --es "id" "4085524874"

वर्तमान कॉल को होल्ड करें

वर्तमान कॉल को होल्ड पर रखने के लिए:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "holdCall"

वर्तमान कॉल को अनहोल्ड करें

वर्तमान कॉल को होल्ड से हटाने के लिए:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"

कॉल मर्ज करें

प्राथमिक और द्वितीयक कॉल को कॉन्फ़्रेंस कॉल में मर्ज करें। यह कमांड तभी काम करता है जब प्राथमिक और द्वितीयक दोनों कॉल मौजूद हों। किसी मौजूदा कॉन्फ्रेंस कॉल को एकल इकाई माना जाता है।

कॉल मर्ज करने के लिए:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "unholdCall"

सभी कॉल साफ़ करें

कॉल सूची से सभी कॉल हटाने के लिए:

adb shell am broadcast -a com.android.car.dialer.intent.action.adb --es "action" "clearAll"

एम्यूलेटर निर्माण

कभी-कभी डेवलपर्स एमुलेटर पर यूआई परिवर्तनों का परीक्षण करना चाह सकते हैं। ऐसे मामलों में, CarDialerAppEmulatorBuild अधिक शक्तिशाली DTF की तुलना में एक सरल सेटअप और सीमित कार्यक्षमता प्रदान करता है।

परीक्षण डेटा

जब डायलर लॉन्च किया जाता है, तो ब्लूटूथ त्रुटि पृष्ठ बाईपास हो जाता है और TelecomActivity की मुख्य सामग्री प्रदर्शित होती है। संपर्क और कॉल लॉग स्थानीय डिवाइस पर प्रदर्शित होते हैं। डेवलपर्स परीक्षण संपर्क बनाने या .vcf फ़ाइल आयात करने के लिए स्टॉक संपर्क ऐप का उपयोग कर सकते हैं।

मजाक उड़ाते हुए बुलाओ

इनबाउंड कॉल को मॉक करने के लिए, टेलनेट कमांड भेजने के लिए एंड्रॉइड एमुलेटर का उपयोग करें। अधिक जानने के लिए, एंड्रॉइड एमुलेटर पर ऐप्स चलाएं और एम्यूलेटर कंसोल कमांड भेजें देखें।

telnet localhost 5554
gsm call xxx-xxx-xxxx

डायलर ऐप में फ़ोन कॉल रखने या कॉल के इरादे को प्रसारित करने से आउटबाउंड कॉल शुरू हो जाती है।

adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx