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

1লা জানুয়ারী, 2017 থেকে ভারতে বিক্রি হওয়া সমস্ত মোবাইল ডিভাইসগুলিকে অবশ্যই ভারতীয় টেলিকমিউনিকেশন বিভাগ (DoT) এর প্রয়োজনীয়তা পূরণ করতে একটি প্যানিক বোতাম প্রদান করতে হবে। এই নিয়ন্ত্রক প্রয়োজনীয়তাগুলি মোকাবেলা করার জন্য, Android ডিভাইসগুলিতে একটি প্যানিক বোতাম সক্ষম করতে জরুরী সামর্থ্য বৈশিষ্ট্যের একটি রেফারেন্স বাস্তবায়ন অন্তর্ভুক্ত করে৷

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

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

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

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

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

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

বাস্তবায়ন

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

একটি জরুরী কল যেটি দ্বারা শুরু হয়:

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

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

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

ইমার্জেন্সি অ্যাফোর্ডেন্স ম্যানেজার

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

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

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

ইমার্জেন্সি অ্যাফোর্ডেন্স সার্ভিস

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

নিম্নলিখিত সংস্থান এবং সেটিংস জরুরী সামর্থ্য বৈশিষ্ট্যের আচরণকে প্রভাবিত করে৷ যদি কনফিগার টাইপ হয়:

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

সারণী 2. জরুরী সামর্থ্য বৈশিষ্ট্য আচরণ প্রভাবিত সেটিংস

কনফিগার টাইপ নাম বর্ণনা
সম্পদ config_emergency_call_number জরুরী কল শুরু হলে যে ফোন নম্বরটি স্বয়ংক্রিয়ভাবে ডায়াল হয়।
প্রকার: স্ট্রিং
ডিফল্ট: 112
সম্পদ config_emergency_mcc_codes MCC তালিকাভুক্ত পূর্ণসংখ্যার একটি অ্যারে বৈশিষ্ট্যটি সক্রিয় থাকা উচিত।
প্রকার: পূর্ণসংখ্যার অ্যারে
ডিফল্ট: {404,405}
বিন্যাস জরুরি_সামর্থ্য_সংখ্যা গ্লোবাল সেটিং জরুরী সামর্থ্য সহ কল ​​করার জন্য নম্বর দিয়ে ওভাররাইড করে। এটি শুধুমাত্র ডিবাগযোগ্য বিল্ড ইমেজের উপর প্রভাব ফেলবে (যেমন বিল্ড টাইপ হল userdebug বা eng)। এই শুধুমাত্র পরীক্ষার জন্য উদ্দেশ্যে করা হয়.
প্রকার: স্ট্রিং
ডিফল্ট: আনসেট
বিন্যাস force_emergency_affordance গ্লোবাল সেটিং, ডিভাইসের অবস্থা নির্বিশেষে জরুরি সামর্থ্য দেখানো উচিত কিনা। এই শুধুমাত্র পরীক্ষার জন্য উদ্দেশ্যে করা হয়.
প্রকার: বুলিয়ান (1 বা 0)
ডিফল্ট: আনসেট --> 0

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

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

  • ril.ecclist যখন কোন সিম ইনস্টল করা নেই।
  • ril.ecclist SimSlotNumber যখন একটি SIM ঢোকানো হয় এবং 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

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

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

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

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

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

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

প্র. পাওয়ার বোতামে তিনবার চাপ দেওয়ার মতো অন্যান্য ট্রিগার সম্পর্কে কী বলা যায়?

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