জরুরী সামর্থ্য বাস্তবায়ন

১ জানুয়ারী, ২০১৭ থেকে ভারতে বিক্রি হওয়া সমস্ত মোবাইল ডিভাইসে ভারতীয় টেলিযোগাযোগ বিভাগের (DoT) প্রয়োজনীয়তা পূরণের জন্য একটি প্যানিক বোতাম থাকতে হবে। এই নিয়ন্ত্রক প্রয়োজনীয়তাগুলি পূরণ করার জন্য, অ্যান্ড্রয়েড অ্যান্ড্রয়েড ডিভাইসগুলিতে একটি প্যানিক বোতাম সক্ষম করার জন্য জরুরি সামর্থ্য বৈশিষ্ট্যের একটি রেফারেন্স বাস্তবায়ন অন্তর্ভুক্ত করেছে।

এই বৈশিষ্ট্যটি অ্যান্ড্রয়েড ৮.০ এবং তার পরবর্তী সংস্করণগুলিতে ডিফল্টরূপে সক্রিয় থাকে, তবে পূর্ববর্তী সংস্করণগুলির বিদ্যমান বিল্ডগুলিতে প্যাচ করা আবশ্যক। এই বৈশিষ্ট্যটি কেবলমাত্র ভারতীয় বাজারে বিক্রি হওয়া ডিভাইসগুলির জন্য লক্ষ্যবস্তু, তবে বিশ্বজুড়ে বিক্রি হওয়া সমস্ত ডিভাইসে এটি অন্তর্ভুক্ত করা যেতে পারে কারণ ভারতের বাইরে এই বৈশিষ্ট্যটির কোনও প্রভাব নেই।

উদাহরণ এবং উৎস

ইমার্জেন্সি অ্যাফোর্ডেন্স বৈশিষ্ট্যটি অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP) ফ্রেমওয়ার্ক/বেস প্রজেক্টে বাস্তবায়িত। এটি অ্যান্ড্রয়েডের সর্বশেষ রিলিজ শাখায় উপলব্ধ এবং অ্যান্ড্রয়েড 8.0 এবং উচ্চতর রিলিজে ডিফল্টরূপে সক্রিয়।

এই বৈশিষ্ট্যটি নিম্নলিখিত শাখা এবং কমিটগুলিতে উপলব্ধ। ডিভাইস নির্মাতাদের তাদের বিদ্যমান বিল্ডগুলিতে প্রয়োজনীয় পরিবর্তনগুলি প্যাচ করতে সক্ষম করার জন্য এই তথ্য সরবরাহ করা হয়েছে। AOSP রেফারেন্স ইমার্জেন্সি অ্যাফোর্ডেন্স বৈশিষ্ট্যটি বাস্তবায়ন করতে ইচ্ছুক ডিভাইস নির্মাতারা প্রযোজ্য শাখাগুলি থেকে তাদের নিজস্ব বিল্ডগুলিতে কমিটগুলি বেছে নিতে পারেন।

সারণী ১. AOSP রেফারেন্সের জন্য চেরি-পিকস জরুরী সাশ্রয় বৈশিষ্ট্য

শাখা কমিট
অ্যান্ড্রয়েড-সর্বশেষ-রিলিজ e0c3c66 জরুরি সাশ্রয় বৈশিষ্ট্য যোগ করা হয়েছে
42a4338 জরুরি অ্যাকশন স্ট্রিংয়ের জন্য অনুবাদ যোগ করা হয়েছে
4df8d64 ট্যাবলেটে জরুরি সাশ্রয়ী মূল্যের বৈশিষ্ট্যটি প্রদর্শিত হবে এমন একটি সমস্যার সমাধান করা হয়েছে।
নওগাত-দেব e6680d9 জরুরি সাশ্রয় বৈশিষ্ট্য যোগ করা হয়েছে
95e1865 জরুরি অ্যাকশন স্ট্রিংয়ের জন্য অনুবাদ যোগ করা হয়েছে
a70bb89 ট্যাবলেটে জরুরি সাশ্রয় বৈশিষ্ট্যটি প্রদর্শিত হবে এমন একটি সমস্যার সমাধান করা হয়েছে।
মার্শম্যালো-ডেভ cd22634 এমার্জেন্সি অ্যাফোর্ডেন্স ফিচার যোগ করা হয়েছে
13f51c6 জরুরি অ্যাকশন স্ট্রিংয়ের জন্য অনুবাদ যোগ করা হয়েছে
6531666 ট্যাবলেটে জরুরি সাশ্রয় বৈশিষ্ট্যটি প্রদর্শিত হবে এমন একটি সমস্যার সমাধান করা হয়েছে।
ললিপপ-mr1-dev 5fbc86b এ জরুরি সাশ্রয়ী মূল্যের বৈশিষ্ট্য যুক্ত করা হয়েছে
1b60879 জরুরি কর্মসূচীর জন্য অনুবাদ যোগ করা হয়েছে
d74366f ট্যাবলেটে জরুরি অ্যাফোর্ডেন্স বৈশিষ্ট্যটি প্রদর্শিত হবে এমন একটি সমস্যার সমাধান করা হয়েছে।

বাস্তবায়ন

অ্যান্ড্রয়েড সফটওয়্যার ডেভেলপমেন্ট কিট (SDK) এর মাধ্যমে প্রকাশিত API গুলিতে জরুরি অ্যাফোর্ডেন্স বৈশিষ্ট্যটি কোনও পরিবর্তন করে না। সক্রিয় এবং সক্রিয় করা হলে, বৈশিষ্ট্যটি দুটি ট্রিগার প্রদান করে যা 112 নম্বরে জরুরি কল শুরু করতে পারে, যা ভারতে ব্যবহৃত একক জরুরি নম্বর এবং ভারতীয় DoT প্রবিধান দ্বারা বাধ্যতামূলক।

একটি জরুরি কল শুরু হয় নিম্নলিখিতগুলির মধ্যে একটির মাধ্যমে:

জরুরি বোতামটি দীর্ঘক্ষণ টিপে রাখা
লকস্ক্রিনে
জরুরি বিকল্পে ট্যাপ করা
গ্লোবাল অ্যাকশন মেনুতে
লক স্ক্রিনে জরুরি অবস্থা বোতাম দেখাচ্ছে

চিত্র ১. লকস্ক্রিনে জরুরি অবস্থা বোতাম।

জরুরি বিকল্প নির্বাচন করা সহ গ্লোবাল অ্যাকশন মেনু

চিত্র ২. গ্লোবাল অ্যাকশন মেনুতে জরুরি পদক্ষেপ (পাওয়ার কী দীর্ঘক্ষণ টিপে অ্যাক্সেস করা যায়)।

এই বৈশিষ্ট্যটি নিম্নলিখিত অভ্যন্তরীণ উপাদানগুলি উপস্থাপন করে:

  • EmergencyAffordanceManager
        frameworks/base/core/java/com/android/internal/policy/EmergencyAffordanceManager.java
        
  • EmergencyAffordanceService
        frameworks/base/services/core/java/com/android/server/emergency/EmergencyAffordanceService.java
        

জরুরি অবস্থা ব্যবস্থাপনা

EmergencyAffordanceManager EmergencyAffordance বৈশিষ্ট্যটি ব্যবহার করার জন্য একটি অভ্যন্তরীণ API প্রদান করে। এটি জরুরি কল শুরু করার এবং রানটাইমে জিজ্ঞাসা করার পদ্ধতি প্রদান করে যে বৈশিষ্ট্যটি সক্রিয় করা উচিত কিনা।

  • void performEmergencyCall() । একটি জরুরি কল শুরু করে।
  • boolean needsEmergencyAffordance() । বৈশিষ্ট্যটি সক্রিয় থাকা উচিত কিনা তা নির্ধারণ করে।

EmergencyAffordanceManager.ENABLED ধ্রুবককে false এ পরিবর্তন করে বিল্ড টাইমে বৈশিষ্ট্যটি স্থায়ীভাবে নিষ্ক্রিয় করা যেতে পারে। এর ফলে needsEmergencyAffordance() সর্বদা false রিটার্ন করে এবং EmergencyAffordanceService শুরু হতে বাধা দেয়।

জরুরি সামর্থ্য পরিষেবা

EmergencyAffordanceService হল একটি সিস্টেম পরিষেবা যা সনাক্ত করা সমস্ত সেলুলার নেটওয়ার্কের মোবাইল কান্ট্রি কোড (MCC) এবং ইনস্টল করা সিম কার্ডের MCC পর্যবেক্ষণ করে। যদি ইনস্টল করা কোনও সিম কার্ড বা সনাক্ত করা সেলুলার নেটওয়ার্কের MCC ভারতের MCC (404 বা 405) এর সাথে মিলে যায় তবে বৈশিষ্ট্যটি সক্রিয় করা হয়। এর অর্থ হল ভারতে কোনও সিম কার্ড উপস্থিত না থাকলেও বৈশিষ্ট্যটি সক্রিয় করা যেতে পারে। ধরে নেওয়া হয় যে মোবাইল নেটওয়ার্ক সিম কার্ড ইনস্টল না করেও জরুরি কলের জন্য নিবন্ধনের অনুমতি দেয়। একটি অ-ভারতীয় সিম ইনস্টল না হওয়া পর্যন্ত এবং সনাক্ত করা কোনও নেটওয়ার্কের MCC না থাকা পর্যন্ত বৈশিষ্ট্যটি সক্রিয় থাকে।

নিম্নলিখিত রিসোর্স এবং সেটিংস জরুরি অ্যাফোর্ডেন্স বৈশিষ্ট্যের আচরণকে প্রভাবিত করে। যদি কনফিগারেশনের ধরণটি হয়:

  • রিসোর্স: frameworks/base/core/res/res/values/config.xml এ সংজ্ঞায়িত একটি অভ্যন্তরীণ রিসোর্স।
  • সেটিং: সিস্টেম সেটিংস প্রদানকারীতে সংরক্ষিত একটি সেটিং।

সারণী ২। জরুরি সাশ্রয় বৈশিষ্ট্যের আচরণকে প্রভাবিত করে এমন সেটিংস

কনফিগারেশনের ধরণ নাম বিবরণ
রিসোর্স কনফিগ_জরুরি_কল_নম্বর জরুরি কল শুরু হলে স্বয়ংক্রিয়ভাবে ডায়াল করা ফোন নম্বর।
ধরণ: স্ট্রিং
ডিফল্ট: ১১২
রিসোর্স কনফিগ_ইমার্জেন্সি_এমসিসি_কোড বৈশিষ্ট্যটি সক্রিয় থাকা উচিত এমন MCC গুলির তালিকাভুক্ত পূর্ণসংখ্যার একটি অ্যারে।
ধরণ: পূর্ণসংখ্যার বিন্যাস
ডিফল্ট: {৪০৪,৪০৫}
বিন্যাস জরুরি_সাশ্রয়ী_নম্বর জরুরি সুবিধার সাথে কল করার জন্য নম্বরটির সাথে গ্লোবাল সেটিং ওভাররাইড করা হয়। এটি শুধুমাত্র ডিবাগযোগ্য বিল্ড ইমেজের উপর প্রভাব ফেলে (অর্থাৎ, বিল্ড টাইপ হল userdebug বা eng)। এটি শুধুমাত্র পরীক্ষার জন্য তৈরি।
ধরণ: স্ট্রিং
ডিফল্ট: সেট না করা
বিন্যাস জোর_জরুরি_সাশ্রয় গ্লোবাল সেটিং, ডিভাইসের অবস্থা নির্বিশেষে জরুরি অ্যাফোর্ডেন্স বৈশিষ্ট্যটি দেখানো উচিত কিনা। এটি শুধুমাত্র পরীক্ষার জন্য তৈরি।
ধরণ: বুলিয়ান (১ অথবা ০)
ডিফল্ট: আনসেট --> 0

১১২ নম্বরে জরুরি কল চালু করুন

ইমার্জেন্সি অ্যাফোর্ডেন্স বৈশিষ্ট্যটি ইমার্জেন্সি ডায়ালার ব্যবহার করে কলটি সংযুক্ত করে যাতে লক স্ক্রিন সক্রিয় থাকাকালীন কলটি সংযুক্ত করা যায়। ইমার্জেন্সি ডায়ালারটি কেবলমাত্র সিস্টেম বৈশিষ্ট্যের মাধ্যমে রেডিও ইন্টারফেস লেয়ার (RIL) দ্বারা প্রদত্ত নম্বরগুলির তালিকার সাথে কলগুলিকে সংযুক্ত করে:

  • যখন কোনও সিম ইনস্টল করা না থাকে তখন ril.ecclist
  • ril.ecclist SimSlotNumber যখন একটি সিম ঢোকানো হয় এবং SimSlotNumber হল ডিফল্ট গ্রাহকের স্লট আইডি।

জরুরি ক্রয়ক্ষমতা বৈশিষ্ট্য ব্যবহারকারী ডিভাইস নির্মাতাদের অবশ্যই যাচাই করতে হবে যে ভারতের ডিভাইসগুলি সর্বদা RIL-তে জরুরি নম্বর হিসেবে 112 সক্ষম করে।

বৈধতা

ডিবাগেবল বিল্ডে পরীক্ষা করার সময়, যে নম্বরটি কল করা হয় তা নিম্নলিখিত কমান্ডের সাহায্যে পরিবর্তন করা যেতে পারে:

adb shell settings put global emergency_affordance_number NUMBER_TO_CALL

যদিও এই সেটিংটি একটি সাধারণ ব্যবহারকারী বিল্ডে সেট করা যেতে পারে, এটি উপেক্ষা করা হয়। কলটি আসলে সংযোগ করার জন্য নম্বরটি RIL দ্বারা প্রদত্ত জরুরি নম্বরের তালিকায় থাকা আবশ্যক। এটি একটি userdebug ডিভাইসের রুট শেল থেকে কার্যকর করা নিম্নলিখিত কমান্ড ব্যবহার করে অস্থায়ীভাবে সেট করা যেতে পারে:

setprop ril.ecclist "$(getprop ril.ecclist),NUMBER_TO_CALL"

কোনও ভারতীয় মোবাইল নেটওয়ার্ক সনাক্ত না হওয়া বা কোনও ভারতীয় সিম কার্ড ঢোকানো না থাকা সত্ত্বেও, নিম্নলিখিত কমান্ডটি জরুরি অ্যাফোর্ডেন্স বৈশিষ্ট্যটি সক্রিয় করতে জোর করে ব্যবহার করা যেতে পারে।

adb shell settings put global force_emergency_affordance 1

কমপক্ষে, নিম্নলিখিত ক্ষেত্রে পরীক্ষা করার পরামর্শ দেওয়া হচ্ছে:

  • সক্রিয় করা হলে, লকস্ক্রিনে (চিত্র ১) জরুরি বোতামটি দীর্ঘক্ষণ টিপে রাখলে নির্দিষ্ট জরুরি নম্বরে কল শুরু হয়।
  • সক্রিয় করা হলে, গ্লোবাল অ্যাকশন মেনুতে জরুরি আইটেমটি উপস্থিত থাকে এবং এটিতে ট্যাপ করলে নির্দিষ্ট জরুরি নম্বরে একটি কল শুরু হয়।
  • ভারতীয় মোবাইল নেটওয়ার্কে কোনও অ-ভারতীয় সিম কার্ড ইনস্টল না থাকলে বৈশিষ্ট্যটি সক্রিয় করা হয় না
  • কোনও ভারতীয় সিম কার্ড ইনস্টল করা হলে ডিভাইসটিতে এই বৈশিষ্ট্যটি সক্রিয় হয় , সনাক্ত করা মোবাইল নেটওয়ার্ক নির্বিশেষে।
  • সিম কার্ড ইনস্টল করা যাই হোক না কেন, ভারতীয় মোবাইল নেটওয়ার্কের উপস্থিতিতে ডিভাইসে এই বৈশিষ্ট্যটি সক্রিয় করা হয়

যদি কোনও ডিভাইস একাধিক সিম কার্ড সমর্থন করে, তাহলে পরীক্ষার মাধ্যমে যাচাই করা উচিত যে প্রতিটি সিম স্লটে সিম এমসিসি সনাক্তকরণ সঠিকভাবে কাজ করছে। জরুরি সাশ্রয় বৈশিষ্ট্যটি অ্যান্ড্রয়েড সামঞ্জস্যতা পরীক্ষা স্যুট (সিটিএস) দ্বারা নিয়ন্ত্রিত হয় না, তাই এর জন্য কোনও সিটিএস পরীক্ষা নেই।

সচরাচর জিজ্ঞাস্য

প্রশ্ন: ভারতে জরুরি নম্বর ১১২ এখনও চালু হয়নি। এটি কি এখনও ব্যবহার করা উচিত?

ইন্টিগ্রেটেড ইমার্জেন্সি কমিউনিকেশনস অ্যান্ড রেসপন্স সিস্টেমস (IECRS) দ্বারা সংজ্ঞায়িত পাবলিক সেফটি অ্যানসারিং পয়েন্ট (PSAP) হিসেবে ভারতে ১১২ নম্বরটি ব্যবহৃত হয়। PSAP চালু না হওয়া পর্যন্ত, ১১২-তে সমস্ত কল বিদ্যমান ১০০ জরুরি নম্বরে পাঠানো হবে (যদিও এটি ক্যারিয়ারের দায়িত্ব, অ্যান্ড্রয়েডের নয়)।

প্র: অন্যান্য ট্রিগার, যেমন পাওয়ার বোতাম তিনবার চাপলে কী হবে?

ডিভাইস নির্মাতারা অতিরিক্ত ট্রিগার প্রয়োগ করতে পারে। তবে, ভারতীয় ডিওটি হার্ডওয়্যার পাওয়ার বোতামটি তিনবার ট্যাপ করার অনুমোদন দিলেও, AOSP রেফারেন্স বাস্তবায়নে এই ট্রিগারটি সমর্থিত নয় কারণ কিছু বহুল ব্যবহৃত অ্যাপ (উদাহরণস্বরূপ, ক্যামেরা অ্যাপ) পাওয়ার বোতামের অঙ্গভঙ্গি ব্যবহার করে যার মধ্যে পাওয়ার বোতামটি বারবার ট্যাপ করা অন্তর্ভুক্ত। এই ধরনের অ্যাপগুলি জরুরি ডায়ালারে হস্তক্ষেপ করতে পারে অথবা ব্যবহারকারী এই অ্যাপগুলিতে অ্যাকশন ট্রিগার করার চেষ্টা করার সময় ভুলবশত প্যানিক বোতামটি ট্রিগার করতে পারে।