Dialer में, डिबग करने और टेस्ट करने के लिए एक इंटिग्रेटेड फ़्रेमवर्क है. इसकी मदद से, कॉल के लिए तैयार डिवाइसों के बिना भी Dialer ऐप्लिकेशन की सुविधाओं की पुष्टि की जा सकती है. इससे ब्लूटूथ और सेल्युलर सेवा वाले कनेक्ट किए गए फ़ोन की ज़रूरत नहीं पड़ती. डायलर टेस्टिंग फ़्रेमवर्क (DTF) की मदद से, इन प्रोसेस को आसानी से पूरा किया जा सकता है:
- आम तौर पर, आइडिया की पुष्टि करने के लिए, किसी असल डिवाइस को सेट अप करने में समय लगता है.
- एक से ज़्यादा कॉल की सुविधाओं की जांच करने के लिए, कम से कम तीन ऐसे फ़ोन चाहिए जिनमें सिम कार्ड लगा हो. इनमें से दो फ़ोन का इस्तेमाल सिर्फ़ कॉल करने के लिए किया जाता है.
- Dialer और उसकी डिपेंडेंसी को डीबग करना.
Dialer की मुख्य सुविधाएं, टेलीकॉम, टेलीफ़ोन, और ब्लूटूथ हैंड्स फ़्री प्रोफ़ाइल (एचएफ़पी) जैसी कई टेक्नोलॉजी स्टैक पर निर्भर करती हैं. इन स्टैक में आने वाले गड़बड़ियों और समस्याओं की वजह से, Dialer में रुकावटें आ सकती हैं. DTF की मदद से, Dialer को इन डिपेंडेंसी के बिना चलाया जा सकता है.
सुविधाएं
DTF में ये सुविधाएं मिलती हैं:
- कॉल प्लेसमेंट. Android Debug Bridge (adb) ब्रॉडकास्ट की मदद से, टर्मिनल से कॉल करने और पाने के लिए, कॉल के लिए तैयार डिवाइस की ज़रूरत नहीं होती.
- मॉक कॉल. कॉल करने की सुविधा को मॉक किया गया है. इसमें कॉल को होल्ड करना, म्यूट करना, मर्ज करना, और डिसकनेक्ट करना शामिल है.
डीटीएफ़ का इस्तेमाल करना
ध्यान दें: डीटीएफ़ सिर्फ़ Android 11 या उसके बाद के वर्शन में उपलब्ध है.
डीटीएफ़ का इस्तेमाल करने के लिए:
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 निर्देश, डायलर को पहली बार लॉन्च करने के बाद ही काम करते हैं. साथ ही, इसके लिए ब्रॉडकास्ट रिसीवर को शुरू करना ज़रूरी है. Dialer लॉन्च करने के बाद, किसी नकली ब्लूटूथ डिवाइस को कनेक्ट करना ज़रूरी है. ऐसा करने के लिए, (सेटअप) डिवाइस कनेक्ट करें निर्देश का इस्तेमाल करें.
(सेट अप) कोई डिवाइस कनेक्ट करना
यह Dialer के साथ एक फ़र्ज़ी ब्लूटूथ कनेक्शन बनाता है. कॉल से जुड़े सभी निर्देशों का ऐक्सेस पाने के लिए, इसे सबसे पहले बोला जाना चाहिए.
किसी डिवाइस को कनेक्ट करने के लिए:
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
फ़ाइल इंपोर्ट करने के लिए, स्टॉक Contacts ऐप्लिकेशन का इस्तेमाल कर सकते हैं.
कॉल मॉकिंग
इनबाउंड कॉल की नकल करने के लिए, Android एमुलेटर का इस्तेमाल करके Telnet निर्देश भेजें. ज़्यादा जानने के लिए, Android एमुलेटर पर ऐप्लिकेशन चलाना और एमुलेटर के कंसोल कमांड भेजना लेख पढ़ें.
telnet localhost 5554 gsm call xxx-xxx-xxxx
डायलर ऐप्लिकेशन में फ़ोन कॉल करने या कॉल इंटेंट ब्रॉडकास्ट करने पर, आउटबाउंड कॉल शुरू हो जाता है.
adb shell am start -a android.intent.action.CALL tel:xxx-xxx-xxxx