নেভিগেশন ইভেন্ট
| সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
|---|---|---|---|---|
| ০১ জুলাই, ২০২৬ | ১.১.২ | - | - | ১.২.০-আলফা০১ |
নির্ভরতা ঘোষণা করা
navigationevent-এর উপর ডিপেন্ডেন্সি যোগ করতে হলে, আপনাকে আপনার প্রজেক্টে গুগল মেভেন রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য গুগলের মেভেন রিপোজিটরি পড়ুন।
আপনার অ্যাপ বা মডিউলের build.gradle ফাইলে প্রয়োজনীয় আর্টিফ্যাক্টগুলোর ডিপেন্ডেন্সি যোগ করুন:
গ্রোভি
dependencies { implementation "androidx.navigationevent:navigationevent:1.2.0-alpha01" }
কোটলিন
dependencies { implementation("androidx.navigationevent:navigationevent:1.2.0-alpha01") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, 'বিল্ড নির্ভরতা যোগ করুন ' দেখুন।
প্রতিক্রিয়া
আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করে। আপনি যদি নতুন কোনো সমস্যা খুঁজে পান অথবা এই লাইব্রেরিটি উন্নত করার জন্য কোনো ধারণা থাকে, তবে আমাদের জানান। নতুন কোনো সমস্যা তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরির বিদ্যমান সমস্যাগুলো দেখে নিন। আপনি তারকা বোতামে ক্লিক করে কোনো বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ ১.২
সংস্করণ 1.2.0-alpha01
০১ জুলাই, ২০২৬
androidx.navigationevent:navigationevent-*:1.2.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
এপিআই পরিবর্তন
-
androidx.benchmarkএরminSdkএখন ২৪। ( Ic2a85 ) - অনিয়ন্ত্রিত ফরোয়ার্ড ন্যাভিগেশন ইভেন্টগুলির ট্র্যাকিং এবং টেস্টিং সক্ষম করতে TestNavigationEventDispatcherOwner-এ onForwardCompletedFallback যোগ করুন। ( I6bbd7 )
- টেস্টে ন্যাভিগেশন ইভেন্ট সিমুলেট করা সহজ করার জন্য TestNavigationEventDispatcherOwner-এ navigationEventInput যোগ করুন। ( I3ef48 )
বাগ সংশোধন
- এপিআই তথ্য পরিমার্জন করে ( Ia8066 )
- সংযোগ বিচ্ছিন্ন ইনপুটগুলিতে পাঠানো নেভিগেশন ইভেন্টগুলি উপেক্ষা করুন। পূর্বে, একটি অপসারিত ইনপুটে ইভেন্ট পাঠালে একটি
IllegalStateExceptionথ্রো হতো। ( I1a8bc , b/515890298 ) - Compose Multiplatform 1.11.0-এ আপগ্রেড করার সময় JetBrains-এর পুরোনো ফর্ক সংস্করণগুলির সাথে প্রতীকের পুনরাবৃত্তি রোধ করুন। ( I4cc4d )
এই আর্টিফ্যাক্টটির জন্য কোনো রিলিজ নোট নেই।
সংস্করণ ১.১
সংস্করণ ১.১.২
১৭ জুন, ২০২৬
androidx.navigationevent:navigationevent-*:1.1.2 প্রকাশিত হয়েছে। সংস্করণ 1.1.2-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
- Compose নির্ভরতা সংস্করণ 1.11.2-এ আপডেট করুন। ( a5e9259 )
সংস্করণ ১.১.১
০৬ মে, ২০২৬
androidx.navigationevent:navigationevent-*:1.1.1 প্রকাশিত হয়েছে। সংস্করণ 1.1.1-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
- অ্যান্ড্রয়েড স্টুডিও প্রিভিউতে প্রেডিক্টিভ ব্যাক চালু করার জন্য ইন্সপেকশন মোডে থাকাকালীন নো-অপ
NavigationEventHandlerসরিয়ে ফেলা হয়েছে।
সংস্করণ ১.১.০
২২ এপ্রিল, ২০২৬
androidx.navigationevent:navigationevent-*:1.1.0 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
সংস্করণ 1.1.0-rc01
০৮ এপ্রিল, ২০২৬
androidx.navigationevent:navigationevent-*:1.1.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-rc01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
- Compose compileSdk এপিআই ৩৭-এ আপডেট করা হয়েছে। এর মানে হলো, Compose ব্যবহার করার জন্য ন্যূনতম এজিপি সংস্করণ ৯.২.০ প্রয়োজন। ( Id45cd , b/413674743 )
সংস্করণ 1.1.0-beta01
২৭ মার্চ, ২০২৬
androidx.navigationevent:navigationevent-*:1.1.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
এপিআই পরিবর্তন
- অনিয়ন্ত্রিত ফরোয়ার্ড নেভিগেশন ইভেন্টগুলির জন্য একটি ডিফল্ট সিস্টেম আচরণ সক্রিয় করতে,
NavigationEventDispatcherএOnForwardCompletedFallbackযোগ করুন। ( Iac620 , b/489138116 )
সংস্করণ 1.1.0-alpha01
২৫শে ফেব্রুয়ারি, ২০২৬
androidx.navigationevent:navigationevent-*:1.1.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- NavigationEvent-Compose-এ সমস্ত Kotlin Multiplatform (KMP) টার্গেট সমর্থন করুন।
LocalViewথেকে ওনার রেজোলিউশনকে বিচ্ছিন্ন করুন, যাতে প্ল্যাটফর্ম হোস্টগুলি একটি ডিফল্টLocalNavigationEventDispatcherOwnerপ্রদান করতে পারে এবং একই সাথে Android-এLocalViewএকটি নিরাপদ ফলব্যাক হিসেবে বজায় রাখতে পারে। ( Iae980 , b/434940570 , Iccf58 )
এপিআই পরিবর্তন
- অ্যান্ড্রয়েডের
BackEventএবংNavigationEventএর মধ্যে রূপান্তর করার জন্যNavigationEvent.toBackEvent()এবংBackEvent.toNavigationEvent()এক্সটেনশন ফাংশন যোগ করুন। ( Ie3b71 , b/477001292 )
সংস্করণ ১.০
সংস্করণ ১.০.২
২৮ জানুয়ারী, ২০২৬
androidx.navigationevent:navigationevent-*:1.0.2 প্রকাশিত হয়েছে। সংস্করণ 1.0.2-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
- অ্যান্ড্রয়েড স্টুডিও প্রিভিউতে
NavigationEventHandlerব্যবহার করার সময় ক্র্যাশ হওয়ার সমস্যাটি সমাধান করা হয়েছে। হ্যান্ডলারটি এখন ইন্সপেকশন মোড শনাক্ত করে এবং কিছুই করে না, ফলে কোনো ডিসপ্যাচার ছাড়াই প্রিভিউটি রেন্ডার হতে পারে। ( I370f2 , b/454313986 )।
সংস্করণ ১.০.১
০৩ ডিসেম্বর, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.1 প্রকাশিত হয়েছে। সংস্করণ 1.0.1-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
-
rememberNavigationEventDispatcherOwner()দিয়ে তৈরি করা চাইল্ডNavigationEventDispatcherএর মতো ডিভাইস ডিসপোজ করার সময় একটিConcurrentModificationExceptionসমাধান করা হয়েছে। ( ec68a9 , b/454363524 )
সংস্করণ ১.০.০
১৯ নভেম্বর, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
১.০.০ এর প্রধান বৈশিষ্ট্যসমূহ:
Navigation Event লাইব্রেরি এখন স্থিতিশীল! Navigation Event হলো অ্যান্ড্রয়েডএক্স-এর একটি লাইব্রেরি, যা অ্যান্ড্রয়েড (এবং অন্যান্য প্ল্যাটফর্মে) সিস্টেম-ব্যাক এবং প্রেডিক্টিভ ব্যাক-এর মতো সিস্টেম-স্তরের ইন্টারঅ্যাকশনগুলো পরিচালনা করে।
To handle
NavigationEvents, you can implement your ownNavigationEventHandlerthat overrides the desired functions. You then need to add the handler to aNavigationEventDispatcher. Starting with the Activity1.12.0release,ComponentActivityimplements the newNavigationEventDispatcherOwnerinterface, which provides a dispatcher that is ready to use :// The NavigationEventInfo provides information about a navigation state object CurrentInfo : NavigationEventInfo() // you can retrieve this from any component that is a NavigationEventDispatcherOwner // or you can instantiate your own custom dispatcher val dispatcher = myActivity.navigationEventDispatcher val myHandler = object : NavigationEventHandler<NavigationEventInfo>( initialInfo = CurrentInfo, isBackEnabled = true ) { override fun onBackStarted(event: NavigationEvent) { // Prepare for the back event } override fun onBackProgressed(event: NavigationEvent) { // Use event.progress for predictive animations } // This is the required method for final event handling override fun onBackCompleted() { // Complete the back event } override fun onBackCancelled() { // Cancel the back event } } dispatcher.addHandler(myHandler)The
navigationevent:navigationevent-composemodule provides a convenient compose functionNavigationBackHandlerthat automatically hooks up the handler to the closestLocalNavigationEventDispatcherOwner'sNavigationEventDispatcherand allows developers to provide the desired behavior as parameters:object CurrentInfo : NavigationEventInfo() object PreviousInfo : NavigationEventInfo() val navEventState = rememberNavigationEventState( currentInfo = CurrentInfo, backInfo = PreviousInfo ) // Inside composition NavigationBackHandler( State = navEventState, isBackEnabled = true, // optional onBackCancelled = { // Cancel the back event }, // required onBackCompleted = { // Complete the back event } , )
Compose-এ এই প্যাটার্নটি ব্যবহার করে NavigationEventState কে হোইস্ট করা খুব সহজ হয়ে যায় এবং এর ফলে বিভিন্ন Composable এটিকে পর্যবেক্ষণ করতে পারে (যেমন Navigation3-এর ক্ষেত্রে, যেখানে আপনি NavDisplay থেকে স্টেটটিকে বাইরে হোইস্ট করতে পারেন)।
প্রতিটি
NavigationEventDispatcherএকটি প্যারেন্ট ডিসপ্যাচার প্রদান করার ক্ষমতা রয়েছে, যা কম্পোজ এবং নন-কম্পোজ উভয় ক্ষেত্রেই প্রযোজ্য। এটি ডেভেলপারদের একটি শ্রেণিবদ্ধ কাঠামো তৈরি করার সুযোগ দেয়, যেখানে একাধিক ডিসপ্যাচারকে একটিমাত্র প্যারেন্ট দ্বারা পরিচালনা করা যায়। একটি প্যারেন্ট থাকার ফলে, যেসব ডিসপ্যাচারের দলকে নিষ্ক্রিয় বা ডিসপোজ করার প্রয়োজন হতে পারে, তাদের পরিচালনা করা তুলনামূলকভাবে সহজ হয়ে যায়।// Non-Compose val parentDispatcher = NavigationEventDispatcher() val childDispatcher = NavigationEventDispatcher(parent = parentDispatcher) // Compose val composeChildDispatcher = rememberNavigationEventDispatcher( // This defaults to `LocalNavigationEventDispatcherOwner.current` // Must explicitly provide null to have an unparented dispatcher created here parent = NavigationEventDispatch() )The library also makes it possible to provide signals directly to the
NavigationEventDispatchervia aNavigationEventInput.NavigationEventInputs acts as the "input" side of the navigation system, translating platform-specific events (like system back gestures or button clicks) into standardized events that can be sent to aNavigationEventDispatcher. Thenavigationevent:navigationeventmodule currently provides 2NavigationEventInputs: a more genericDirectNavigationEventInputto allow any event to be dispatched and an Android specificOnBackInvokedInputthat allows aNavigationEventDispatcherto support system back and the predictive back gesture. If you implement your own dispatcher (instead of using the one provided byComponentActivity) you must manually add your input:val dispatcher = NavigationEventDispatcher() dispatcher.addInput(DirectNavigationEventInput()) dispatcher.addInput(OnBackInvokedDefaultInput(invoker))
সংস্করণ 1.0.0-rc01
০৫ নভেম্বর, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-rc01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
সংস্করণ 1.0.0-beta01
০৮ অক্টোবর, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
এপিআই পরিবর্তন
-
NavigationEvent.touchXএবংNavigationEvent.touchYএর জন্যFloatRangeঅ্যানোটেশনটি সংশোধন করুন। এই মানগুলি পরম পিক্সেল স্থানাঙ্ককে প্রতিনিধিত্ব করে এবং এদের কোনো1.0ঊর্ধ্বসীমা নেই। ( I4b205 , b/445989313 ) -
NavigationEventDispatcherOwnerকম্পোজেবলটিকেrememberNavigationEventDispatcherOwnerএ রিফ্যাক্টর করুন। ফাংশনটি এখন সরাসরিNavigationEventDispatcherOwnerরিটার্ন করে। কোনো সাব-কম্পোজিশনে এই ওনারটি সরবরাহ করতেCompositionLocalProviderব্যবহার করুন। ( I874b2 , b/444446629 )
সংস্করণ 1.0.0-alpha09
২৪ সেপ্টেম্বর, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-alpha09 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha09-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
এপিআই পরিবর্তন
-
Idle()ইনস্ট্যানশিয়েট করার পরিবর্তে সরাসরিNavigationEventTransitionState.Idleসিঙ্গেলটন অবজেক্টটি ব্যবহার করুন। ( Ic7d9e , b/444734264 ) - সুবিধার্থে কনস্ট্রাক্টরগুলোকে অভ্যন্তরীণ করুন; সরাসরি নির্মাণের পরিবর্তে public
NavigationEventDispatcher.historyএর মাধ্যমে ইনস্ট্যান্স সংগ্রহ করুন। ( I3b7e0 , b/444734264 ) -
rememberNavigationEventStateএর মাধ্যমেNavigationEventStateতৈরি করা আবশ্যক; কনস্ট্রাক্টরটি এখন অভ্যন্তরীণ। ( Ie143c , b/444734264 ) -
fallbackOnBackPressedব্যবহার এবং কনস্ট্রাক্টর প্যারামিটারের পরিবর্তেonBackCompletedFallbackগ্রহণ করা হয়েছে। এর আচরণ অপরিবর্তিত; এটি শুধুমাত্র সম্পন্ন হওয়া কিন্তু হ্যান্ডেল না করা ব্যাক ইভেন্টের ক্ষেত্রেই কল করা হয়। ( Idabe9 , b/444734264 ) - The primary constructor of
NavigationEventHistory(mergedHistory, currentIndex)is nowinternal. External consumers must use the public constructors (either the empty constructor or the partition-based constructor) to create instances. ( I1c047 , b/444734264 ) -
View.setViewTreeNavigationEventDispatcherOwnernullable owner গ্রহণ করার উপযোগী করুন ( Ic9eb6 , b/444436762 ) -
NavigationEventInfoএখন একটিinterfaceপরিবর্তে একটিabstract class। সমস্ত কাস্টম ইমপ্লিমেন্টেশনকে এই ক্লাস থেকে ইনহেরিট করার জন্য আপডেট করুন (যেমন,data class MyInfo : NavigationEventInfo())। ( I1e59c , b/444734264 ) - পুরানো
NavigationEventDispatcher.stateপ্রপার্টি এবংgetState<T>()ফাংশন সরিয়ে ফেলা হয়েছে। নতুন, পৃথকdispatcher.transitionState(জেসচার অগ্রগতির জন্য) এবংdispatcher.history(ন্যাভিগেশন স্ট্যাকের জন্য) ফ্লো ব্যবহার করুন। ( Ic2ceb , b/444734264 ) -
NavigationEventInput.onInfoChanged(...)কলব্যাকটি প্রতিস্থাপিত হয়েছে। একটি এককNavigationEventHistoryঅবজেক্ট হিসাবে আপডেটগুলি গ্রহণ করতে নতুনonHistoryChanged(history: NavigationEventHistory)কলব্যাকটি প্রয়োগ করুন। ( I23e0b , b/444734264 ) - Introduce a new global
NavigationEventDispatcher.historyStateFlow. This non-generic flow allows observers to subscribe only to changes to the navigation stack and remains stable during gesture progress. This is the counterpart totransitionState. ( I1db10 , b/444734264 ) - একটি নতুন গ্লোবাল
NavigationEventDispatcher.transitionStateStateFlowচালু করুন। এই নন-জেনেরিক ফ্লো অবজারভারদেরকে হিস্ট্রি থেকে আলাদাভাবে শুধুমাত্র ফিজিক্যাল জেসচার স্টেট (Idle/InProgress)-এ সাবস্ক্রাইব করার সুযোগ দেয়। ( I171fa , b/444734264 ) -
NavigationEventHistoryStateক্লাসটি চালু করা হলো। এটি জেসচার স্টেট থেকে আলাদাভাবে নেভিগেশন তথ্যের ইতিহাস পর্যবেক্ষণের জন্য মূল এপিআই হিসেবে কাজ করবে। ( I81ca5 , b/444734264 ) -
NavigationEventএখন@Immutableহিসেবে চিহ্নিত করা হয়েছে, যা Compose Compiler-কে রিকম্পোজিশন অপ্টিমাইজ করতে সক্ষম করে। ( If78c7 , b/444734264 ) -
navigationevent-composeহ্যান্ডলার API-গুলো আপডেট করা হয়েছে।NavigationEventHandlerএবংNavigationBackHandler(এবং এর বিভিন্ন সংস্করণ) এখন একটি নতুন ওভারলোড সমর্থন করে যা একটি হোয়িস্টেডNavigationEventStateগ্রহণ করে। সাধারণ ওভারলোডগুলো (যাcurrentInfoগ্রহণ করে) অপরিবর্তিত রাখা হয়েছে এবং এখন অভ্যন্তরীণভাবে এই নতুন স্টেট মডেলটি ব্যবহার করে। ( Ic3251 , b/444734264 ) - Add the new
@StableNavigationEventState<T>state holder to thenavigationevent-composelibrary. This object combines local history with local gesture state and will be the primary link betweenrememberNavigationEventStateandNavigationEventHandler. ( Ifb69f , b/444734264 ) - Add a new public, read-only
transitionState: TransitionStateproperty toNavigationEventHandler. Handlers now maintain their own transition state, which external systems can observe. ( I9acd2 , b/444734264 ) - নতুন
TransitionStateসিলড ক্লাসটি চালু করা হলো। এটি নেভিগেশন হিস্ট্রি থেকে আলাদাভাবে জেসচার স্টেট পর্যবেক্ষণের জন্য মূল এপিআই হিসেবে কাজ করবে। ( Id4beb , b/444734264 ) -
NavigationEventHandlerএcurrentInfo,backInfo, এবংforwardInfoপাবলিক, রিড-অনলি প্রোপার্টি হিসেবে প্রকাশ করুন। ( Ia7636 , b/444734264 ) -
NavigationEventHandlerএর ইমপ্লিমেন্টেশনগুলোকে এখন থেকে বেস কনস্ট্রাক্টরে একটিinitialInfo: Tভ্যালু প্রদান করতে হবে। ( Idcfea , b/444734264 ) -
OnBackInvokedInputOnBackInvokedOverlayInputঅথবাOnBackInvokedDefaultInputদ্বারা প্রতিস্থাপন করুন। ( I5323f , b/428948766 ) -
NavigationEventState@Immutableহিসেবে চিহ্নিত করুন। এটি নিশ্চিত করে যে এই স্টেট পর্যবেক্ষণকারী Composable-গুলি সঠিকভাবে রিকম্পোজিশন এড়িয়ে যেতে পারে, যার ফলে Compose-এর পারফরম্যান্স উন্নত হয়। ( I399c8 ) -
NavigationEventInfo.NotProvidedকেNavigationEventInfo.None;রেফারেন্স আপডেট করুন। আচরণে কোনো পরিবর্তন হবে না। ( I5e2d4 ) -
NavigationEventInfoএখন@Immutableহিসেবে চিহ্নিত করা হয়েছে, যা Compose Compiler-কে রিকম্পোজিশন অপ্টিমাইজ করতে সক্ষম করে। ( I7c112 ) - ব্যাক কমপ্লিশন ফলব্যাকের জন্য মজাদার ইন্টারফেসের মাধ্যমে জাভার কর্মদক্ষতা উন্নত করুন। ( I8a860 )
-
onHasEnabledHandlerChangedonHasEnabledHandlersChangedএ রিনেম করুন। এটি স্পষ্ট করে যে কলব্যাকটি শুধুমাত্র একটি হ্যান্ডলারের নয়, বরং সমস্ত হ্যান্ডলারের সম্মিলিত সক্রিয়করণ অবস্থার উপর রিপোর্ট করে। ( I1af61 , b/443711297 ) - NavigationEventDispatcher থেকে
hasEnabledHandler()সরিয়ে দিনNavigationEventDispatcher;এর পরিবর্তেNavigationEventInput.onHasEnabledHandlersChangedব্যবহার করুন। ( Idef72 , b/443711297 ) - ন্যাভিগেশন হিস্ট্রির পরিবর্তন সম্পর্কে লিসেনারদের অবহিত করতে
NavigationEventInputএonInfoChangedকলব্যাক যোগ করুন। এটি বর্তমান, পূর্ববর্তী এবং পরবর্তী স্ট্যাকের সম্পূর্ণ প্রেক্ষাপট প্রদান করে, যা ইনপুটগুলিকে প্রাসঙ্গিক তথ্যের উপর ভিত্তি করে প্রতিক্রিয়া জানাতে সক্ষম করে। ( I69a8b , b/443282983 ) -
NavigationEventএরswipeEdgeএকটি@IntDefপরিণত করুন ( Icee54 , b/443950342 ) - একটি ডিসপ্যাচারকে একটি নির্দিষ্ট প্রায়োরিটিতে সীমাবদ্ধ করতে
NavigationEventDispatcher.addInputএ একটিpriorityপ্যারামিটার যোগ করুন; এর ফলেonHasEnabledCallbacksChangedএর মতো ইভেন্টগুলো এখন কেবল তখনই ফায়ার হবে যখন সেই প্রায়োরিটির কলব্যাকগুলো পরিবর্তিত হবে। ( I3e488 , b/443711297 ) - স্পষ্টতার জন্য
NavigationEventDispatcherপ্যারামিটারটির নামparentDispatcherথেকে parent-এ পরিবর্তন করুন। ( Id4f1f , b/443801782 ) - জাভা ব্যবহারকারীদের জন্য
@IntDefএর পক্ষেNavigationEventPriorityঅপসারণ করুন ( I10a9f , b/440514265 ) - Enforce navigation handler contract. If your
NavigationEventHandlersetsisBackEnabledorisForwardEnabledtotrue, you must now overrideonBackCompletedoronForwardCompletedrespectively. The default implementations now throw an exception to prevent silent failures. ( I17c62 ) - ন্যাভিগেশন ইভেন্ট হ্যান্ডলার যোগ করার সময় বৈধ প্রায়োরিটি মান প্রয়োগ করুন। এখন থেকে অসমর্থিত প্রায়োরিটি দিয়ে
addHandlerকল করলে একটিIllegalArgumentExceptionথ্রো হবে, যা সমস্ত টার্গেট প্ল্যাটফর্মে ভুল ব্যবহারের জন্য তাৎক্ষণিক প্রতিক্রিয়া প্রদান করবে। ( I3c474 )
বাগ সংশোধন
-
addHandlerআইডম্পোটেন্ট করুন; সদৃশ নিবন্ধন উপেক্ষা করুন। ( I052aa , b/444734264 ) - পুনর্গঠনের সময়
NavigationEventStateপ্রোপার্টিগুলো সিঙ্ক করে রাখুন। ( Ib3b4d , b/444734264 ) - নিশ্চিত করুন যে
NavigationEventInputsনিবন্ধনের সাথে সাথেই বর্তমান প্রাসঙ্গিক তথ্য (বর্তমান, পিছনে, সামনে) পায়। ( Ie65bf , b/443282983 )
সংস্করণ 1.0.0-alpha08
১০ সেপ্টেম্বর, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha08-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- Introduce a lambda-based
NavigationEventHandlerAPI that replaces the Flow-based handler. Handle back and forward gestures with simple callbacks instead of collecting flows, reducing boilerplate and avoiding cancellation issues. ProvideNavigationBackHandlerandNavigationForwardHandleras targeted convenience APIs. Remove the Flow-basedNavigationEventHandler; migrate to the new callbacks. ( I23bac , b/436248277 ) - প্যাসিভ লিসেনারদের সম্মিলিত ব্যাক ইনফোর মাধ্যমে সম্পূর্ণ নেভিগেশন ব্যাক স্ট্যাক অ্যাক্সেস করার অনুমতি দিন। UI-গুলিকে শুধুমাত্র শীর্ষ-স্থানীয় কলব্যাকে সীমাবদ্ধ না রেখে প্রিভিউ এবং নেস্টেড নেভিগেশন হিস্ট্রি রেন্ডার করতে সক্ষম করুন। ( I7a510 , b/436248277 )
- ন্যাভিগেশন অবস্থা স্পষ্ট করতে এবং নেস্টেড হ্যান্ডলারের মাধ্যমে ফরোয়ার্ড ন্যাভিগেশন সমর্থন করার জন্য একটি সুস্পষ্ট ব্যাক/কারেন্ট/ফরোয়ার্ড মডেল চালু করুন। ( Ib86da , b/420443609 )
-
NavigationEventCallbackএonForward*মেথড এবংisForwardEnabledযোগ করুন। ( Ic100f , b/436248290 ) -
NavigationEventInputএ ফরওয়ার্ড নেভিগেশন সাপোর্ট যোগ করুন। ( I5734b )
এপিআই পরিবর্তন
-
TestNavigationEventCallbackব্যবহার করে ফরওয়ার্ড ন্যাভিগেশন ইভেন্টগুলোর টেস্টিং সক্ষম করুন।isForwardEnabledএবংonForward*হুক ব্যবহার করুন। ( I21fb5 , b/420443609 ) -
NavEventএonEvent*কলব্যাকগুলির নাম পরিবর্তন করেonBack*করা হয়েছে। ( I228b3 , b/436248290 ) -
SwipeEdgeএকটি ইনলাইন ক্লাসে রূপান্তর করুন। ( Id5e01 ) - Make the
navigationeventlibrary interoperable with Java. All public APIs are now fully accessible from Java code, enabling seamless integration into mixed-language or Java-only projects. ( Ibc944 , I5465f , I9fb1e , b/440532890 b/443040294 ) -
NavigationEventCallbackনাম পরিবর্তন করেNavigationEventHandlerরাখার মাধ্যমে API-এর ভূমিকা স্পষ্ট করুন। এই পরিবর্তনটি বহু-পর্যায়ের নেভিগেশন জেসচার পরিচালনার জন্য ক্লাসটির উদ্দেশ্যকে আরও ভালোভাবে প্রতিফলিত করে। সংশ্লিষ্টaddCallbackমেথডটির নাম এখনaddHandler। ( I2492a , b/443040331 )
বাগ সংশোধন
- ফরওয়ার্ড নেভিগেশনের সময় ব্যাক ফলব্যাক চালু হওয়া প্রতিরোধ করুন। ( I74814 , b/436248290 )
- প্রিডিক্টিভ ফরোয়ার্ড নেভিগেশনের জন্য সমর্থন যোগ করা হয়েছে।
NavigationEventAPI-গুলো এখন ব্যাক এবং ফরোয়ার্ড উভয় জেসচারই পরিচালনা করতে পারে, যার ফলে উভয় নেভিগেশন দিকের জন্য সামঞ্জস্যপূর্ণ অ্যানিমেশন পাওয়া যায়। ( Idc98c , b/436248290 ) - যখন কোনো চাইল্ড
NavigationEventDispatcherOwnerসরিয়ে ফেলা হয়, তখন রিকম্পোজিশনের সময় একটিIllegalStateExceptionক্র্যাশ প্রতিরোধ করুন। ( Iff50c , b/412629020 ) - Passive listeners can now access the full navigation back stack through combined back info, enabling UIs to render previews and nested navigation history instead of being limited to the top-most callback. ( I7a510 , b/436248277 )
সংস্করণ 1.0.0-alpha07
২৭ আগস্ট, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha07-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
এপিআই পরিবর্তন
-
NavigationEventDispatcher.onHasEnabledCallbacksChangedমুছে ফেলুন। ( I50e97 ) -
NavigationEventCallback.onEventCompleted()কে অ্যাবস্ট্রাক্ট করুন। ( I36b38 ) -
NavigationEventCallback#on*মেথডগুলোকেprotectedএ পরিবর্তন করুন। সেগুলোকে ওভাররাইড করার জন্য কলিং কোড আপডেট করুন। ( I6b691 ) -
DirectNavigationEventInputফাংশনগুলোর নাম পরিবর্তন করুন। ( Iffb62 ) -
NavigationEventInput.onAttachকেonAddedএ পুনঃনামকরণ করুন। ( I2d0b8 ) -
NavigationEventInput.onDetachকেonRemovedএ পুনঃনামকরণ করুন। ( I2d0b8 ) -
NavigationEventInputHandlerনাম পরিবর্তন করেNavigationEventInputরাখুন। ( I676a4 ) -
NavigationEventInput.onHasEnabledCallbacksChangedএ@EmptySuperযোগ করুন। ( If9853 ) -
NavigationEventInputHandlerএonAttachপ্রয়োগ করুন। ( I03648 ) -
NavigationEventInputHandlerএonDetachপ্রয়োগ করুন। ( I03648 ) - তৈরির সময় ডিফল্টরূপে
NavigationEventCallbackসক্রিয় করা হয়। ( Ic0188 ) -
NavigationEventInput.addOnHasEnabledCallbacksChangedCallbackকেNavigationEventInput.onHasEnabledCallbacksChangedদিয়ে প্রতিস্থাপন করুন। ( I64e93 ) -
NavigationEventDispatcher.addInputএর জন্য প্রধান থ্রেড প্রয়োজন। ( Ic2930 ) -
NavigationEventDispatcher.removeInputএর জন্য প্রধান থ্রেড প্রয়োজন। ( Ic2930 ) - Remove
Dispatcher.addOnHasEnabledCallbacksChangedCallback. Replace withDispatcher.onHasEnabledCallbacksChanged. ( Ida3e3 , b/436530096 )
বাগ সংশোধন
- একটি বাগ সংশোধন করা হয়েছে যেখানে ইতিমধ্যে সংযুক্ত একটি হ্যান্ডলার যোগ করা বা অসংযুক্ত হ্যান্ডলার অপসারণ করার ফলে ভুল লাইফসাইকেল লজিক চালু হয়ে যাচ্ছিল। ( I9e47b )
সংস্করণ 1.0.0-alpha06
১৩ আগস্ট, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha06-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
প্যাসিভ লিসেনার এপিআই
এখন আপনি যেকোনো নেভিগেশন হোস্ট থেকে কাস্টম প্রাসঙ্গিক তথ্য পাঠাতে পারবেন এবং আপনার UI-এর যেকোনো জায়গা থেকে পরোক্ষভাবে জেসচার অবস্থার পরিবর্তন পর্যবেক্ষণ করতে পারবেন । এটি প্রেডিক্টিভ ব্যাক এবং অন্যান্য জেসচার-চালিত নেভিগেশনের জন্য কনটেক্সট-অ্যাওয়্যার অ্যানিমেশন সক্ষম করে।
এই বৈশিষ্ট্যটির দুটি অংশ রয়েছে:
- তথ্য প্রদান - নিজস্ব ডেটা বহন করার জন্য
NavigationEventInfoব্যবহার করুন। - স্টেট ব্যবহার - জেসচারের অগ্রগতি এবং কনটেক্সট পর্যবেক্ষণ করতে
dispatcher.state(NavigationEventState) ব্যবহার করুন।
-
NavigationEventCallbackএখন এক কলে জেসচার কনটেক্সট সেট করার জন্যsetInfo(currentInfo, previousInfo)মেথডটি প্রকাশ করেছে ( I1d5e7 , b/424470518 )। -
NavigationEventHandlerএকটি নতুন ওভারলোড যোগ করেছে যাcurrentInfoএবংpreviousInfoগ্রহণ করে, যার ফলে এটি Compose অ্যাপে কনটেক্সট সরবরাহের জন্য প্রধান API-তে পরিণত হয়েছে ( I6ecd3 , b/424470518 )।
উদাহরণ:
data class MyScreenInfo(val screenName: String) : NavigationEventInfo
NavigationEventHandler(
enabled = true,
currentInfo = MyScreenInfo("Details Screen"),
previousInfo = MyScreenInfo("Home Screen")
) { /* Handle back completion */ }
-
NavigationEventDispatcherএখনdispatcher.stateএবংdispatcher.getState<T>()উন্মুক্ত করেছে ( If7fae , Ia90ca , b/424470518 )। এইStateFlowভিত্তিক API-গুলো যেকোনো UI-কে সরাসরি ইভেন্টটি হ্যান্ডেল না করেই জেসচারের অগ্রগতি এবং প্রাসঙ্গিক ডেটা পর্যবেক্ষণ করতে দেয়।
উদাহরণ:
val gestureState by LocalNavigationEventDispatcherOwner.current!!
.navigationEventDispatcher
.state
.collectAsState()
val progress = gestureState.progress // Returns latestEvent.progress or 0F
when (val state = gestureState) {
is InProgress -> {
val toScreen = state.currentInfo as MyScreenInfo
val fromScreen = state.previousInfo as MyScreenInfo
println("Navigating from ${fromScreen.screenName} to ${toScreen.screenName}")
}
is Idle -> { /* Idle state */ }
}
NavigationEventState( I7b196 )-এprogressপ্রপার্টি যোগ করুন যা ইভেন্ট চলাকালীনlatestEvent.progressরিটার্ন করে, অন্যথায়0Fরিটার্ন করে:val progress = state.progressAdd
NavigationEventDispatcherOwnercomposable to create, link, and dispose ofNavigationEventDispatcherinstances hierarchically. Enable dynamic control of the dispatcher's enabled state and automatic cleanup.@Composable fun Sample() { NavigationEventDispatcherOwner(enabled = true) { val localDispatcherOwner = LocalNavigationEventDispatcherOwner.current } }
এপিআই পরিবর্তন
-
NavigationEventCallbackথেকেisPassthroughপ্যারামিটারটি সরিয়ে ফেলা হয়েছে। ( I99028 , b/424470518 ) -
NavigationEventStateকনস্ট্রাক্টরগুলো এখন ইন্টারনাল। পরীক্ষার জন্য,DirectNavigationEventInputHandlerএর মাধ্যমে স্টেট আপডেট করুন (ডিফল্ট হলোIdle)। স্টেটকেInProgressএ সেট করতেhandleOnStartedবাhandleOnProgressedকল করুন, এবং এটিকেIdleএ ফিরিয়ে আনতেhandleOnCompletedবাhandleOnCancelledকল করুন।NavigationEventInfoআপডেট করতে,NavigationEventCallback.setInfoব্যবহার করুন। ( I93dca , b/424470518 ) - সহজ ইনস্ট্যানসিয়েশন এবং টেস্টিং সরলীকরণের জন্য
NavigationEventএ ডিফল্ট প্যারামিটার যোগ করা হয়েছে, যাTestNavigationEventএর পরিবর্তে ব্যবহার করা উচিত। ( I5dc49 , I232f4 ) - নির্দিষ্ট বর্তমান/পূর্ববর্তী অবস্থা সহ নেভিগেশন ইভেন্ট পরীক্ষা করার জন্য একটি
TestNavigationEventCallbackযোগ করা হয়েছে। ( Idd22e , b/424470518 ) -
NavigationEventInputHandlerhas been made into an abstract class to replace the previousAbstractNavigationEventInputHandlerwith an implementation inDirectNavigationEventInputHandler( Iadde5 , Ifed40 I3897c , b/432616296 , b/435416924 ) -
NavigationEventInputHandlerএরsend*ফাংশনগুলোর প্রিফিক্স পরিবর্তন করেhandle*রাখা হয়েছে। ( Iffcaf ) -
OnBackInvokedInputHandlerএখন নতুনabstractNavigationInputHandlerএক্সটেন্ড করে। ( Ib45aa ) -
NavigationEventDispatcherOwnerপরিবর্তন করে এখন একটি প্যারেন্ট ডিসপ্যাচার আবশ্যক করা হয়েছে, যেখানে রুট ডিসপ্যাচার তৈরি করার জন্য আপনাকে অবশ্যই স্পষ্টভাবেnullপাস করতে হবে। ( Ia6f64 , b/431534103 )
বাগ সংশোধন
-
NavigationEventDispatcher.dispose()-এ কালেকশন কপি পরিহার করে কার্যকারিতা উন্নত করা হয়েছে। ( I4ab09 ) - একটি সমস্যার সমাধান করা হয়েছে যেখানে
NavigationEventHandlerতার enabled অবস্থার পরিবর্তনে সঠিকভাবে সাড়া দিচ্ছিল না। ( Ia5268 , I19bec , I5be5c , b/431534103 )
ডকস আপডেট
- একটি সমন্বিত ইভেন্ট র্যাপার হিসেবে
NavigationEventএর ভূমিকা স্পষ্ট করতে এবং বিভিন্ন নেভিগেশন টাইপের (জেসচার, ক্লিক) ক্ষেত্রে এর প্রপার্টির আচরণ বিশদভাবে বর্ণনা করার জন্য KDocs-কে সম্প্রসারিত করা হয়েছে। ( I91e8d ) - সিস্টেম ব্যাক হ্যান্ডলিং কম্পোজ এপিআই (
BackHandler,PredictiveBackHandler,NavigationEventHandler)-এর ডকুমেন্টেশন আপডেট করা হয়েছে, যাতে কলব্যাকের ক্রম সম্পর্কিত আচরণ বিশেষভাবে উল্লেখ করা যায়। ( I7ab94 )
নির্ভরতা আপডেট
-
NavigationEventএখন Compose Runtime 1.9.0-beta03-এর উপর নির্ভরশীল, যাnavigationevent-composeআর্টিফ্যাক্টকে সকল KMP টার্গেট সমর্থন করতে সক্ষম করে। ( Ia1b87 )
সংস্করণ 1.0.0-alpha05
৩০ জুলাই, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha05-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
Parent-Child Hierarchy Support:
একটি NavigationEventDispatcher এখন প্যারেন্ট এবং চাইল্ড ডিসপ্যাচার থাকতে পারে, যা একটি শ্রেণিবদ্ধ ট্রি কাঠামো তৈরি করে। এটি চেইনড ডিসপ্যাচারের মাধ্যমে UI-এর কাঠামোগত শ্রেণিবিন্যাস প্রতিফলিত করে, যার ফলে জটিল Compose UI কম্পোনেন্ট জুড়ে নেভিগেশন ইভেন্টগুলিকে আরও নমনীয়ভাবে প্রচার ও পরিচালনা করা যায়। ( I194ac )
// Create a parent dispatcher that will manage navigation events at a higher level.
val parentDispatcher = NavigationEventDispatcher()
// Create a child dispatcher linked to the parent, forming a hierarchy.
val childDispatcher = NavigationEventDispatcher(parentDispatcher)
The hierarchical isEnabled property allows for top-down control of a dispatcher. When isEnabled is set to false on a dispatcher, it automatically disables all its descendant dispatchers. This feature enables entire branches of the navigation event system to be toggled off efficiently. ( I9e985 )
// Disabling the child dispatcher disables all its callbacks and any of its children recursively.
childDispatcher.isEnabled = false
অধিকন্তু, NavigationEventCallback এর isEnabled প্রপার্টিটি এখন এর সংশ্লিষ্ট ডিসপ্যাচারের enabled অবস্থাকে সম্মান করে। এর মানে হলো, একটি কলব্যাককে তখনই enabled বলে গণ্য করা হবে, যখন কলব্যাকটি নিজে এবং এর ডিসপ্যাচার (এর পূর্বসূরিদের সহ) উভয়ই enabled থাকবে, যা কলব্যাক অ্যাক্টিভেশনের উপর সামঞ্জস্যপূর্ণ শ্রেণিবদ্ধ নিয়ন্ত্রণ নিশ্চিত করে। ( I1799a )
// Create a test callback and add it to the child dispatcher.
val callback1 = TestNavigationEventCallback(isEnabled = true)
childDispatcher.addCallback(callback1)
// Since the childDispatcher is disabled, the callback is effectively disabled as well.
assertThat(callback1.isEnabled).isFalse()
ডিসপ্যাচার এবং তাদের চাইল্ডদের যথাযথ ক্লিনআপের জন্য একটি নতুন dispose() মেথড চালু করা হয়েছে। dispose() কল করলে মেমরি লিক প্রতিরোধ করার জন্য লিসেনারগুলো বন্ধ হয়ে যায়, রিকার্সিভলি সমস্ত চাইল্ড ডিসপ্যাচার ডিসপোজ হয়ে যায়, ডিসপ্যাচারে রেজিস্টার করা সমস্ত কলব্যাক মুছে যায় এবং এটি তার প্যারেন্ট থেকে আনলিঙ্ক হয়ে যায়। এটি নিশ্চিত করে যে ডিসপ্যাচারগুলোর আর প্রয়োজন না হলে রিসোর্সগুলো সঠিকভাবে রিলিজ হয়। ( I9e985 )
// Dispose the child dispatcher to clean up resources.
childDispatcher.dispose()
যদি কোনো ডিসপোজড ডিসপ্যাচারে কোনো পাবলিক মেথড কল করা হয়, তাহলে তাৎক্ষণিকভাবে একটি IllegalStateException থ্রো করা হয়। এটি নীরব ব্যর্থতা প্রতিরোধ করে এবং ডেভেলপারদের ডেভেলপমেন্টের সময় অনুপযুক্ত ব্যবহার শনাক্ত করতে সাহায্য করে। ( Ic2dc3 )
val callback2 = TestNavigationEventCallback()
// Attempting to use a disposed dispatcher will throw an exception.
assertThrows<IllegalStateException> {
childDispatcher.addCallback(callback2)
}
দ্রষ্টব্য: আমরা aosp/3692572- এ একটি নতুন NavigationEventDispatcherOwner Composable চালু করব যা Compose UI-এর মধ্যে একটি চাইল্ড ডিসপ্যাচারকে স্বয়ংক্রিয়ভাবে পরিচালনা করে। তবে, এই পরিবর্তনটি বর্তমান রিলিজে অন্তর্ভুক্ত করা হয়নি এবং এটি পরবর্তী রিলিজের জন্য পরিকল্পনা করা হয়েছে।
নেভিগেশন টেস্টিং লাইব্রেরি
-
navigationeventলাইব্রেরির জন্য বিশেষ টেস্টিং ইউটিলিটি প্রদান করতেnavigationevent-testingমডিউলটি যোগ করুন। ( 0e50b6 ) - পরীক্ষার জন্য
TestNavigationEventCallbackনামে একটি নকল ইউটিলিটি ক্লাস যোগ করুন। এটি কলব্যাক মেথড কলগুলো রেকর্ড করে এবং যাচাইকরণের জন্য প্রাপ্তNavigationEventআইটেমগুলো সংরক্ষণ করে। ( 4a0246 ) - ডিফল্ট মান সহ
NavigationEventইনস্ট্যান্স তৈরি করতেTestNavigationEventফেক ইউটিলিটি ফাংশন যোগ করা হয়েছে, যা ন্যাভিগেশন ইভেন্ট প্রক্রিয়াকরণের জন্য ইউনিট টেস্টকে সহজ করে। ( 3b63f5 ) - পরীক্ষার জন্য
TestNavigationEventDispatcherOwnerনামক একটি নকল ইউটিলিটি ক্লাস যোগ করা হয়েছে। এটি টেস্টে ইন্টারঅ্যাকশন যাচাইকরণকে সমর্থন করার জন্য ফলব্যাক এবং এনাবলড-স্টেট-চেঞ্জড ইভেন্টের সংখ্যা ট্র্যাক করে। ( c8753e )
এপিআই পরিবর্তন
- Move
NavigationEventInputHandlerfromandroidMaintocommonMainto make it available in KMP common code. Add newpublic send*methods for dispatching events. Change dispatch functions onNavigationEventDispatcherfrompublictointernal; users must now useNavigationEventInputHandlerto send events. ( Ia7114 ) -
NavigationInputHandlerনাম পরিবর্তন করেOnBackInvokedInputHandlerরাখা হলো। ( I63405 )
বাগ সংশোধন
- মধ্যবর্তী তালিকা বরাদ্দ পরিহার করে এবং কলব্যাক ডিসপ্যাচ কর্মক্ষমতা উন্নত করে ওভারহেড কমাতে
NavigationEventDispatcherরিফ্যাক্টর করুন। ( I82702 , I1a9d9 ) - কম্পাইল টাইমে বৈধ মানের পরিসীমা নিশ্চিত করতে এবং API নিরাপত্তা উন্নত করতে
NavigationEventএরtouchX,touchY, এবংprogressফিল্ডগুলিতে@FloatRangeঅ্যানোটেশন যোগ করুন। ( Iac0ec )
সংস্করণ 1.0.0-alpha04
২ জুলাই, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
-
navigationevent-compose-এimplementedInJetBrainsForkব্যবহার করা হয়েছে এবং কম্পোজ কনভেনশনের সাথে সামঞ্জস্য রাখতে একটিcommonStubsটার্গেট যোগ করা হয়েছে। এই পরিবর্তনটি JetBrains-এর অনুরোধে করা হয়েছে । ( f60c79 ) - সঠিক স্টাব জেনারেশন নিশ্চিত করার জন্য Kotlin/Native-এর জন্য Compose কম্পাইলার প্লাগইনের প্রয়োগ সংশোধন করা হয়েছে। পাবলিক API বা আচরণের উপর কোনো প্রভাব নেই। ( 1890c9 )
সংস্করণ 1.0.0-alpha03
১৮ জুন, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha03-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
-
navigationeventলাইব্রেরিতে Jetpack Compose-এর বৈশিষ্ট্যগুলো সমর্থন করার জন্য একটি নতুনnavigationevent-composeমডিউল চালু করা হয়েছে। ( 980d78 ) -
NavigationEventCompose has added a newLocalNavigationEventDispatcherOwnerlocal composition. It returns a nullable value to better determine whether it is available in the current composition.NavigationEventHandlerwill now throw an error if the underlying owner is not found. ( 62ffda ) -
NavigationEventCompose, (প্রিডিক্টিভ ব্যাক জেসচার) ইভেন্টগুলি পরিচালনা করার জন্য একটি নতুনNavigationEventHandlerComposable যুক্ত করেছে। এটিNavigationEventঅবজেক্টের একটিFlowপ্রদান করে যা আপনার সরবরাহ করা সাসপেন্ডিং ল্যাম্বডাতে অবশ্যই সংগ্রহ করতে হবে c42ba6 :
NavigationEventHandler { progress: Flow<NavigationEvent> ->
// This block is executed when the back gesture begins.
try {
progress.collect { backEvent ->
// Handle gesture progress updates here.
}
// This block is executed if the gesture completes successfully.
} catch (e: CancellationException) {
// This block is executed if the gesture is cancelled
throw e
} finally {
// This block is executed either the gesture is completed or cancelled
}
}
এপিআই পরিবর্তন
- এখন প্রতিটি
NavigationEventCallbackএকবারে শুধুমাত্র একটিNavigationEventDispatcherসাথেই রেজিস্টার করা যাবে; এটিকে একাধিক ডিসপ্যাচারে যোগ করলে একটিIllegalStateExceptionথ্রো হবে। উল্লেখ্য যে, এই আচরণটিOnBackPressedDispatcherথেকে ভিন্ন, যা একাধিক ডিসপ্যাচারকে অনুমতি দেয়। ( e82c19 ) - ন্যাভিগেশনের সময় পরিবর্তন রোধ করতে
isPassThroughএকটিvalকরা হয়েছে, যাNavigationEventএর ডিসপ্যাচিং ভেঙে দিতে পারতো। ( I0b287 )
সংস্করণ 1.0.0-alpha02
৪ জুন, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha02-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
এপিআই পরিবর্তন
-
NavigationEventDispatcherএর সেকেন্ডারি কনস্ট্রাক্টরকে ডিফল্ট আর্গুমেন্ট দিয়ে প্রতিস্থাপন করুন। ( I716a0 ) -
NavigationEventCallbackথেকে priority প্রপার্টিটি সরিয়ে দিন। এর পরিবর্তেNavigationEventDispatcher.addCallback()-এ priority পাস করুন। ( I13cae )
বাগ সংশোধন
- একই সাথে ক্লোজেবল-এর অভ্যন্তরীণ তালিকা পরিবর্তন করার কারণে
NavigationEventCallback.remove()কল করার সময় যেConcurrentModificationExceptionদেখা দিতে পারতো, তা সংশোধন করা হয়েছে। ( b/420919815 )
সংস্করণ 1.0.0-alpha01
২০ মে, ২০২৫
androidx.navigationevent:navigationevent-*:1.0.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
-
androidx.navigationeventলাইব্রেরিটি সিস্টেম ব্যাক এবং প্রেডিক্টিভ ব্যাক উভয়ই হ্যান্ডেল করার জন্য একটি KMP-ফার্স্ট API প্রদান করে। সিস্টেম ব্যাক ইভেন্ট গ্রহণ করার জন্য এক বা একাধিকNavigationEventCallbackইনস্ট্যান্স রেজিস্টার করতেNavigationEventDispatcherএকটি সাধারণ API হিসেবে কাজ করে। - This layer sits below the previously released APIs in
androidx.activityand aims to be a less opinionated replacement for using the Activity APIs in higher level components or directly using the Android frameworkOnBackInvokedDispatcherAPIs. Theandroidx.activityAPIs have been rewritten on top of the Navigation Event APIs as part of Activity 1.12.0-alpha01 .