ডেস্কটপ উইন্ডোইং

এই পৃষ্ঠায় ডেস্কটপ উইন্ডোয়িং সংক্রান্ত ফিচার ও টেস্টিং পরিস্থিতি সম্পর্কে বিস্তারিত তথ্য দেওয়া আছে।

Android 17 ও তার পরবর্তী যেকোনও ভার্সনে, আপনি প্রতি ডিসপ্লে ডেস্কটপ উইন্ডোয়িং চালু করতে পারবেন। আরও তথ্যের জন্য, ডেস্কটপ উইন্ডো চালু করা দেখুন।

ডেস্কটপ ফিচার

এই বিভাগে ডেস্কটপ উইন্ডো সংক্রান্ত মূল ফিচার ও কনফিগারেশন বর্ণনা করা হয়েছে।

টাস্কের সীমা চালু করুন

ডেস্কটপ উইন্ডোতে কাজ করে এমন সর্বাধিক টাস্ক কনফিগার করতে:

  1. ডেস্কটপ উইন্ডোয়িং চালু করুন।
  2. config.xml-এ কনফিগ ওভারলে ফ্ল্যাগ config_maxDesktopWindowingActiveTasks-এর মান সর্বাধিক সংখ্যক সমর্থিত টাস্কের সমান সেট করুন। আনলিমিটেড সংখ্যক টাস্কের জন্য, ফ্ল্যাগটি 0-এর ডিফল্ট ভ্যালুতে সেট করুন:

    <integer name="config_maxDesktopWindowingActiveTasks">4</integer>
    

ব্রাউজার-নির্দিষ্ট ফিচার

Android 16 দুটি ব্রাউজার-নির্দিষ্ট ফিচার নিয়ে এসেছে: কাস্টমাইজ করা যায় এমন হেডার ইনসেট এবং অ্যাপ ইনস্ট্যান্স ম্যানেজমেন্ট। এই বিভাগে ব্রাউজার কম্প্যাটিবিলিটি যাচাই করার জন্য টেস্টিং পরিস্থিতি বর্ণনা করা হয়েছে। OEM-কে অবশ্যই যাচাই করে দেখতে হবে যে ফিচার ইমপ্লিমেন্টেশন যেভাবে কাজ করার কথা সেভাবে কাজ করছে কিনা।

কাস্টমাইজ করা যায় এমন হেডার ইনসেট সংক্রান্ত টেস্ট কেস

নিম্নলিখিত টেস্ট কেসগুলি কাস্টমাইজ করা হেডার ইনসেটের সাথে ব্রাউজারের মানানসই হওয়ার বিষয়টি যাচাই করে:

  • UI ইন্টার‍্যাক্টিভিটি: সব উইন্ডো কনফিগারেশন (ফ্রিফর্ম, স্প্লিট স্ক্রিন ও ফুলস্ক্রিন) জুড়ে ব্রাউজারের ক্যাপশন বার UI সম্পূর্ণ ইন্টার‍্যাক্টিভ থাকে কিনা তা যাচাই করুন।
  • সিস্টেম আইকন ক্লিয়ারেন্স: নিশ্চিত করুন যে ব্রাউজার UI সিস্টেম আইকনের নিচে ড্র করে না।
  • ফোরগ্রাউন্ড কালার অ্যাপ্লিকেশন: ব্রাউজারের থিমের উপর ভিত্তি করে অ্যাপের হেডারে সিস্টেম আইকনে সঠিক ফোরগ্রাউন্ড কালার প্রয়োগ করা হয়েছে কিনা তা যাচাই করুন। ব্রাউজারের থিম সিস্টেম থিমের থেকে আলাদা হলে এটি বিশেষভাবে গুরুত্বপূর্ণ।
  • উইন্ডো ড্র্যাগ করা: যাচাই করুন যে ট্যাব স্ট্রিপের ফাঁকা জায়গায় কোথাও লং-প্রেস করে ফ্রিফর্ম উইন্ডো ড্র্যাগ করা যায় কিনা।
  • রিসাইজ করার সময় ট্যাবের দৃশ্যমানতা: অপ্টিমাল ব্যবহারযোগ্যতা বজায় রাখতে উইন্ডোর প্রস্থের উপর ভিত্তি করে ট্যাব দেখানো বা লুকানো হচ্ছে কিনা তা পরীক্ষা করুন।

ড্র্যাগ করার জেসচার আচরণ সহ অ্যাপ ইনস্ট্যান্স ম্যানেজমেন্টের জন্য টেস্ট কেস

নিম্নলিখিত টেস্ট কেসগুলি অ্যাপ ইনস্ট্যান্স ম্যানেজমেন্টের সাথে ব্রাউজার মানানসই কিনা তা যাচাই করে:

  • নতুন উইন্ডো তৈরি করা: কনফার্ম করুন যে ট্যাব স্ট্রিপ থেকে কোনও ট্যাব টেনে এনে খালি জায়গায় রাখলে, সেই ট্যাবটি সহ একটি নতুন ব্রাউজার উইন্ডো তৈরি হয়।
  • শেষ ট্যাবের জন্য কোনও নতুন উইন্ডো নেই (সিঙ্গেল ইনস্ট্যান্স): যদি শুধুমাত্র একটি ব্রাউজার ইনস্ট্যান্স খোলা থাকে, তাহলে যাচাই করুন যে সেই উইন্ডোতে শেষ ট্যাবটি ড্র্যাগ করলে কোনও নতুন উইন্ডো তৈরি হয় না।

ডেস্কটপ-ফার্স্ট ও টাচ-ফার্স্ট বিহেভিওরাল মোড

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

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

এইসব মোড আলাদা ডেস্কটপ এনভায়রনমেন্ট নয়, বরং এগুলি হল পার-ডিসপ্লে স্টেট যা ডিফল্ট UI আচরণ নির্ধারণ করে।

আচরণগত পার্থক্য

নিম্নলিখিত সারণীতে ডেস্কটপ-ফার্স্ট ও টাচ-ফার্স্ট মোডের মধ্যে UI ও ফাংশন সংক্রান্ত মূল পার্থক্যগুলি সংক্ষিপ্তভাবে তুলে ধরা হয়েছে:

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

ডেস্কটপ-ফার্স্ট মোড হল ডিসপ্লে-পিছু স্টেট, অর্থাৎ কোনও ডিভাইস একই সাথে টাচ-ফার্স্ট ইন্টার্নাল ডিসপ্লে এবং ডেস্কটপ-ফার্স্ট এক্সটার্নাল ডিসপ্লে হোস্ট করতে পারে।

ট্রিগার পরিবর্তন করা

ডিসপ্লের জন্য উপযুক্ত মোড নির্ধারণ করতে সিস্টেম বিভিন্ন বিষয় মূল্যায়ন করে:

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

টেকনিক্যাল প্রয়োগ

এই অবস্থার "সত্যের উৎস" হল ডিসপ্লে উইন্ডোইং মোড, বিশেষ করে ডিসপ্লের TaskDisplayArea-এর উইন্ডোইং মোড। Shell ও Launcher কম্পোনেন্ট DisplayAreaInfo বা ডিসপ্লে কনটেক্সটের WindowConfiguration-এর মাধ্যমে এই স্টেট অ্যাক্সেস করতে পারে।

ডিসপ্লে প্রতি ডেস্কটপ উইন্ডোইং

Android 17 ও তার পরবর্তী যেকোনও ভার্সনে, Display.canHostTasks-এর মাধ্যমে নির্ধারিত টাস্ক হোস্ট করতে পারে এমন ডিসপ্লের জন্য, অরিজিনাল ইকুইপমেন্ট ম্যানুফ্যাকচারার (OEM) কনফিগার করতে পারে এমন মানদণ্ডের উপর ভিত্তি করে WindowManager (WM) ডেস্কটপ উইন্ডোয়িংয়ের উপযুক্ততা নির্ধারণ করে। ডিফল্ট হিসেবে, WM নিম্নলিখিত মাপকাঠি চেক করে:

  • ফ্রিফর্ম উইন্ডো সংক্রান্ত সহায়তা
  • সিস্টেম ডেকোরেশন চালু করা হচ্ছে
  • ডিফল্ট ডিসপ্লে বা কন্টেন্ট মোড সুইচ চালু থাকলে

কোনও ডিসপ্লের উপযুক্ততা পরিবর্তন হলে, WM IDisplayWindowListener.onDesktopModeEligibleChanged কল করে। লুকানো API WindowManager.isEligibleForDesktopMode ডিসপ্লেটি উইন্ডো করার জন্য উপযুক্ত কিনা তা ফেরত দেয়। WM শেল এই কলটি ইন্টারসেপ্ট করে এবং ডিসপ্লে উপযুক্ত হলে, ডিসপ্লেটি ডেস্কটপ উইন্ডোইং সাপোর্ট করে কিনা তা নির্ধারণ করে এবং প্রয়োজনীয় রিসোর্স অ্যাসাইন করে।