পেজিং

পেজিং লাইব্রেরি আপনার অ্যাপের RecyclerView-এর মধ্যে ধীরে ধীরে এবং সুন্দরভাবে ডেটা লোড করা আপনার জন্য সহজ করে তোলে।

এই টেবিলটি androidx.paging গ্রুপের সমস্ত শিল্পকর্মের তালিকা করে।

আর্টিফ্যাক্ট স্থিতিশীল রিলিজ প্রার্থী মুক্তি বিটা রিলিজ আলফা রিলিজ
পেজিং-* 3.3.4 - - -
পেজিং-কম্পোজ 3.3.4 - - -
এই লাইব্রেরিটি সর্বশেষ আপডেট করা হয়েছিল: নভেম্বর 13, 2024

নির্ভরতা ঘোষণা করা

পেজিংয়ের উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:

গ্রোভি

dependencies {
  def paging_version = "3.3.2"

  implementation "androidx.paging:paging-runtime:$paging_version"

  // alternatively - without Android dependencies for tests
  testImplementation "androidx.paging:paging-common:$paging_version"

  // optional - RxJava2 support
  implementation "androidx.paging:paging-rxjava2:$paging_version"

  // optional - RxJava3 support
  implementation "androidx.paging:paging-rxjava3:$paging_version"

  // optional - Guava ListenableFuture support
  implementation "androidx.paging:paging-guava:$paging_version"

  // optional - Jetpack Compose integration
  implementation "androidx.paging:paging-compose:3.3.2"
}

কোটলিন

dependencies {
  val paging_version = "3.3.2"

  implementation("androidx.paging:paging-runtime:$paging_version")

  // alternatively - without Android dependencies for tests
  testImplementation("androidx.paging:paging-common:$paging_version")

  // optional - RxJava2 support
  implementation("androidx.paging:paging-rxjava2:$paging_version")

  // optional - RxJava3 support
  implementation("androidx.paging:paging-rxjava3:$paging_version")

  // optional - Guava ListenableFuture support
  implementation("androidx.paging:paging-guava:$paging_version")

  // optional - Jetpack Compose integration
  implementation("androidx.paging:paging-compose:3.3.2")
}

কোটলিন এক্সটেনশন ব্যবহার করার তথ্যের জন্য, ktx ডকুমেন্টেশন দেখুন।

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।

প্রতিক্রিয়া

আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 3.3

সংস্করণ 3.3.4

13 নভেম্বর, 2024

androidx.paging:paging-*:3.3.4 প্রকাশিত হয়েছে। সংস্করণ 3.3.4-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • পেজিং 3.3 বা তার পরে টেনে নেওয়া অ্যান্ড্রয়েড ইউনিট পরীক্ষাগুলি আর কোনও ত্রুটি ফেলবে না যেমন Method isLoggable in android.util.Log not mocked ৷ ( IA9400 , b/331684448 )

সংস্করণ 3.3.2

7 আগস্ট, 2024

androidx.paging:paging-*:3.3.2 প্রকাশিত হয়েছে। সংস্করণ 3.3.2-এ এই কমিটগুলি রয়েছে।

নতুন বৈশিষ্ট্য

  • paging-common এবং paging-testing নতুন কোটলিন-মাল্টিপ্ল্যাটফর্ম লক্ষ্য যোগ করেছে: watchos , tvos , এবং linuxArm64 ( 90c9768 ), ( 53e0eca )

সংস্করণ 3.3.1

জুলাই 24, 2024

androidx.paging:paging-*:3.3.1 প্রকাশিত হয়েছে। সংস্করণ 3.3.1-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে AsyncPagingDataDiffer বা APIs এর উপরে তৈরি করা হয়েছে যেমন RecyclerView এর সাথে ব্যবহৃত PagingDataAdapter স্ক্রোল করার সময় ব্যাকিং ডেটা উৎস রিফ্রেশ হলে আরও লোড ট্রিগার করতে অক্ষম হবে। ( I60ca5 , b/352586078 )
  • PagingDataAdapter বা AsyncPagingDataDiffer ব্যবহার করে একটি RecyclerView স্ক্রোল করার সময় ব্যাকিং ডেটা উত্স থেকে আইটেমগুলি সরানো হলে একটি ক্র্যাশ সংশোধন করা হয়েছে৷ ( I8c65a , b/347649763 )

সংস্করণ 3.3.0

14 মে, 2024

androidx.paging:paging-*:3.3.0 প্রকাশিত হয়েছে। সংস্করণ 3.3.0-এ এই কমিটগুলি রয়েছে।

3.2.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • PagingDataPresenter এখন একটি পাবলিক ক্লাস। মাল্টিপ্ল্যাটফর্ম উপস্থাপক এখন অভ্যন্তরীণ পেজিং API বা paging-runtime AsyncPagingDataDiffer এর প্রয়োজন না করে PagingDataPresenter এর উপরে তৈরি করা যেতে পারে।
  • LoadStates যথাক্রমে ত্রুটি বা NotLoading অবস্থায় আছে কিনা তা পরীক্ষা করতে hasError এবং isIdle এ নতুন LoadStates এবং CombinedLoadStates সহায়ক পদ্ধতি যোগ করা হয়েছে। এছাড়াও Flow<CombinedLoadStates> এ একটি নতুন awaitNotLoading() Kotlin এক্সটেনশন পদ্ধতি যোগ করা হয়েছে যা একটি লোড NotLoading বা Error State এ স্থির না হওয়া পর্যন্ত অপেক্ষা করে।
  • PagingData.empty() এখন ডিফল্টরূপে NotLoading স্টেট পাঠায় যদি না কাস্টম LoadStates এর কনস্ট্রাক্টরের কাছে পাঠানো হয়। এটি বিদ্যমান আচরণ থেকে প্রস্থান করে যেখানে এটি একটি PagingDataAdapter এ জমা দেওয়ার সময় LoadStates প্রেরণ করে না বা LazyPagingItems হিসাবে সংগ্রহ করা হলে এটি লোডিং অবস্থা প্রেরণ করে। LazyPagingItems হিসাবে সংগ্রহ করা হলে, এটি এখন প্রাথমিক রচনার সাথে সাথে একটি খালি তালিকা প্রদর্শন করবে।

কোটলিন মাল্টিপ্ল্যাটফর্ম সামঞ্জস্য

পেজিং এখন কোটলিন মাল্টিপ্ল্যাটফর্মের সাথে সামঞ্জস্যপূর্ণ আর্টিফ্যাক্ট পাঠায়, ক্যাশঅ্যাপের মাল্টিপ্ল্যাটফর্ম-পেজিং প্রকল্প থেকে আপস্ট্রিম করা কাজের জন্য অনেকাংশে ধন্যবাদ।

  • paging-common সমস্ত পেজিং 3 এপিআইকে common -এ স্থানান্তরিত করেছে এবং এখন অ্যান্ড্রয়েড ছাড়াও jvm এবং iOS-এর সাথে সামঞ্জস্যপূর্ণ।
  • paging-testing এর কোডকে common নিয়ে গেছে এবং এখন অ্যান্ড্রয়েড ছাড়াও jvm এবং iOS এর সাথে সামঞ্জস্যপূর্ণ।
  • paging-compose তার কোডকে common -এ স্থানান্তরিত করেছে এবং androidx.compose এর মাল্টিপ্ল্যাটফর্ম সমর্থনের সাথে মিলে একটি অ্যান্ড্রয়েড আর্টিফ্যাক্ট পাঠিয়েছে।
  • paging-runtime , paging-guava , paging-rxjava2 , এবং paging-rxjava3 শুধুমাত্র Android থাকবে।

সংস্করণ 3.3.0-rc01

1 মে, 2024

androidx.paging:paging-*:3.3.0-rc01 পেজিং 3.3.0-beta01-এ কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে। সংস্করণ 3.3.0-rc01-এ এই কমিটগুলি রয়েছে।

সংস্করণ 3.3.0-beta01

3 এপ্রিল, 2024

androidx.paging:paging-*:3.3.0-beta01 কোন উল্লেখযোগ্য পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। সংস্করণ 3.3.0-beta01-এ এই কমিট রয়েছে।

সংস্করণ 3.3.0-alpha05

20 মার্চ, 2024

androidx.paging:paging-*:3.3.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 3.3.0-alpha05-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • পেজিং এখন সাধারণ কোডের জন্য AndroidX অ্যানোটেশন @MainThread টীকা ব্যবহার করে। ( I78f0d , b/327682438 )

সংস্করণ 3.3.0-alpha04

6 মার্চ, 2024

androidx.paging:paging-*:3.3.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 3.3.0-alpha04-এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • Kotlin মাল্টিপ্ল্যাটফর্ম সামঞ্জস্য যোগ করার সাথে সম্পর্কিত ছোটখাটো ডকুমেন্টেশন ত্রুটি সংশোধন করা হয়েছে। ( aosp/2950785 )

সংস্করণ 3.3.0-alpha03

7 ফেব্রুয়ারি, 2024

androidx.paging:paging-*:3.3.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 3.3.0-alpha03 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট্য

  • PagingDataPresenter এখন একটি পাবলিক ক্লাস। মাল্টিপ্ল্যাটফর্ম উপস্থাপক এখন অভ্যন্তরীণ পেজিং API বা paging-runtime AsyncPagingDataDiffer এর প্রয়োজন না করে PagingDataPresenter এর উপরে তৈরি করা যেতে পারে। ( Id1f74 , b/315214786 )
  • LoadStates ত্রুটি বা NotLoading অবস্থায় আছে কিনা তা পরীক্ষা করতে নতুন LoadStates এবং CombinedLoadStates সহায়ক পদ্ধতি যোগ করা হয়েছে। এছাড়াও একটি নতুন API যোগ করা হয়েছে যা একটি LoadStateFlow এ অপেক্ষা করছে যতক্ষণ না একটি লোড NotLoading বা Error State এ স্থির হয়। ( Id6c67 )

আচরণ পরিবর্তন

  • PagingData.empty() এখন ডিফল্টরূপে NotLoading স্টেট পাঠায় যদি না কাস্টম LoadStates এর কনস্ট্রাক্টরের কাছে পাঠানো হয়। এটি বিদ্যমান আচরণ থেকে প্রস্থান করে যেখানে এটি একটি PagingDataAdapter এ জমা দেওয়ার সময় LoadStates প্রেরণ করে না বা LazyPagingItems হিসাবে সংগ্রহ করা হলে এটি লোডিং অবস্থা প্রেরণ করে। LazyPagingItems হিসাবে সংগ্রহ করা হলে, এটি এখন প্রাথমিক রচনার সাথে সাথে একটি খালি তালিকা প্রদর্শন করবে। ( I4d11d , b/301833847 )

সংস্করণ 3.3.0-alpha02

20 সেপ্টেম্বর, 2023

androidx.paging:paging-*:3.3.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 3.3.0-alpha02 এই কমিট ধারণ করে।

কোটলিন মাল্টিপ্ল্যাটফর্ম সামঞ্জস্য

পেজিং এখন কোটলিন মাল্টিপ্ল্যাটফর্মের সাথে সামঞ্জস্যপূর্ণ আর্টিফ্যাক্ট পাঠায়, ক্যাশঅ্যাপের মাল্টিপ্ল্যাটফর্ম-পেজিং প্রকল্প থেকে আপস্ট্রিম করা কাজের জন্য অনেকাংশে ধন্যবাদ। এটি আমাদের দুটি সংগ্রহস্থলের মধ্যে ভিন্নতা এড়াতে এবং তাদের সামঞ্জস্যপূর্ণ রাখতে অনুমতি দেবে।

  • paging-common সমস্ত পেজিং 3 এপিআইকে common -এ স্থানান্তরিত করেছে এবং এখন অ্যান্ড্রয়েড ছাড়াও jvm এবং iOS-এর সাথে সামঞ্জস্যপূর্ণ।
  • paging-testing এর কোডকে common নিয়ে গেছে এবং এখন অ্যান্ড্রয়েড ছাড়াও jvm এবং iOS এর সাথে সামঞ্জস্যপূর্ণ।
  • paging-compose তার কোডকে common -এ স্থানান্তরিত করেছে এবং androidx.compose এর মাল্টিপ্ল্যাটফর্ম সমর্থনের সাথে মিলে একটি অ্যান্ড্রয়েড আর্টিফ্যাক্ট পাঠিয়েছে।
  • paging-runtime , paging-guava , paging-rxjava2 , এবং paging-rxjava3 শুধুমাত্র Android থাকবে।

এপিআই পরিবর্তন

  • পাবলিক লগার ইন্টারফেস যা শুধুমাত্র অভ্যন্তরীণ ব্যবহারের জন্য ছিল তা অবমূল্যায়িত করা হয়েছে ( I16e95 , b/288623117 )

বাহ্যিক অবদান

  • পেজিংকে কোটলিন মাল্টিপ্ল্যাটফর্মে ( #560 , #561 , #562 , # 573 , #576 , #577 , # 578 , #579 , #580 , # 581 , # 583 , # 584 , #584 # এ নিয়ে যেতে সাহায্য করার জন্য ক্যাশ অ্যাপ থেকে ভেন্ডানকে ধন্যবাদ। 586 , #609 )

সংস্করণ 3.3.0-alpha01

20 সেপ্টেম্বর, 2023

  • এটি androidx.pageing লাইব্রেরির প্রথম মাল্টিপ্ল্যাটফর্ম রিলিজ। এই সংস্করণে শুধুমাত্র *-jvm , এবং *-android আর্টিফ্যাক্ট রয়েছে। macOS, iOS এবং linux ভেরিয়েন্টের জন্য, 3.3.0-alpha02 ব্যবহার করুন।

সংস্করণ 3.2

সংস্করণ 3.2.1

6 সেপ্টেম্বর, 2023

androidx.paging:paging-*:3.2.1 প্রকাশিত হয়েছে। সংস্করণ 3.2.1 এই কমিট ধারণ করে.

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে পেজিং টেস্টিং আর্টিফ্যাক্টের asSnapshot() API যখন PagingData.from(List) ব্যবহার করে নির্মিত একটি ফ্লো পাস করা হবে তখন হ্যাং হয়ে যাবে যেহেতু asSnapshot() কখন লোডিং শেষ হবে সে সম্পর্কে কোনো তথ্য থাকবে না ( PagingData.from(List, LoadStates) বিপরীতে) PagingData.from(List, LoadStates) ওভারলোড)। এই সমাধানটি শুধুমাত্র সম্পূর্ণযোগ্য প্রবাহের জন্য কাজ করে (যেমন, একটি flowOf(PagingData.from(...)) )। অ-সম্পূর্ণ প্রবাহের জন্য (যেমন, MutableStateFlow , PagingData.from ওভারলোড ব্যবহার করুন যা LoadStates প্রদান করে)। ( I502c3 )
  • পেজিং কম্পোজ এখন অভ্যন্তরীণভাবে AndroidUiDispatcher.Main ব্যবহার করে যাতে লোডিং সম্পূর্ণ হওয়ার সাথে সাথে একই ফ্রেমে নতুন ডেটা পাওয়া যায়। ( IA55af )

সংস্করণ 3.2.0

জুলাই 26, 2023

androidx.paging:paging-*:3.2.0 প্রকাশিত হয়েছে। সংস্করণ 3.2.0 এই কমিট ধারণ করে.

3.1.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • পেজিং কম্পোজ এপিআই স্থায়িত্বে পৌঁছেছে এবং পেজিংয়ের বাকি অংশে আবার মার্জ করা হয়েছে যেখানে এর সংস্করণটি এখন অন্যান্য সমস্ত পেজিং আর্টফ্যাক্টের সাথে মেলে। 3.1.0 থেকে পরিবর্তনগুলি অন্তর্ভুক্ত:
    • একটি PagingData.from(fakeData) তৈরি করে এবং একটি MutableStateFlow (যেমন MutableStateFlow(PagingData.from(listOf(1, 2, 3))) ) এ PagingData মোড়ানোর মাধ্যমে জাল ডেটার একটি তালিকার পূর্বরূপ দেখার জন্য সমর্থন। প্রিভিউ করার জন্য collectAsLazyPagingItems() এর রিসিভার হিসাবে @Preview composables-এ এই প্রবাহটি পাস করুন।
    • সমস্ত অলস লেআউট যেমন LazyVerticalGrid এবং HorizontalPager পাশাপাশি Wear এবং TV লাইব্রেরি থেকে কাস্টম অলস উপাদানগুলির জন্য সমর্থন। এটি নতুন নিম্ন স্তরের LazyPagingItems এক্সটেনশন পদ্ধতির মাধ্যমে অর্জন করা হয়েছে itemKey এবং itemContentType , যা আপনাকে LazyColumn , LazyVerticalGrid পাশাপাশি HorizontalPager এর মতো API-এ তাদের সমতুল্যগুলির জন্য ইতিমধ্যেই বিদ্যমান স্ট্যান্ডার্ড items APIগুলির key এবং contentType পরামিতিগুলি প্রয়োগ করতে সহায়তা করে৷
    • items(lazyPagingItems) এবং itemsIndexed(lazyPagingItems) যেগুলি শুধুমাত্র LazyListScope সমর্থন করে সেগুলিকে অবমূল্যায়িত করা হয়েছে৷
  • নতুন paging-testing আর্টিফ্যাক্ট যা আপনার অ্যাপের প্রতিটি স্তরের ইউনিট টেস্টিং এবং বিচ্ছিন্নভাবে পেজিং এর সাথে এর একীকরণের চারপাশে ডিজাইন করা API প্রদান করে। উদাহরণস্বরূপ, এটি অন্তর্ভুক্ত
    • TestPager ক্লাস যা আপনাকে পেজার এবং বাস্তব UI থেকে স্বাধীনভাবে আপনার নিজস্ব কাস্টম PagingSource বাস্তবায়নের আচরণ যাচাই করতে দেয়।
    • asPagingSourceFactory APIs হয় একটি Flow<List<Value>> অথবা একটি স্ট্যাটিক List<Value> কে একটি PagingSourceFactory রূপান্তরিত করতে যা পরীক্ষায় একটি পেজারে পাস করা যেতে পারে
    • asSnapshot Kotlin extension on Flow<PagingData<Value>> , যা Flow<PagingData<Value>> একটি সরাসরি List<Value> এ অনুবাদ করে। asSnapshot lambda আপনাকে APIs যেমন scrollTo বা appendScrollWhile মাধ্যমে আপনার অ্যাপের UI অনুকরণ করতে দেয় যাতে আপনি আপনার পৃষ্ঠাযুক্ত ডেটার সেটের যেকোনো সময়ে ডেটার স্ন্যাপশট সঠিক কিনা তা যাচাই করতে পারেন।
  • দুটি স্তরে পেজিং ডিবাগিং তথ্য প্রকাশ করতে ডিফল্ট লগ যুক্ত করা হয়েছে: VERBOSE এবং DEBUG । লগগুলি adb shell setprop log.tag.Paging [DEBUG|VERBOSE] কমান্ডের মাধ্যমে সক্রিয় করা যেতে পারে। এটি ভিউ সহ পেজিং বা কম্পোজ সহ পেজিং উভয় ক্ষেত্রেই প্রযোজ্য।
  • PagingDataAdapter এবং AsyncPagingDataDiffer জন্য কনস্ট্রাক্টর যোগ করা হয়েছে যা CoroutineDispatcher পরিবর্তে CoroutineContext স্বীকার করে।
  • একটি নতুন PagingSourceFactory কার্যকরী ইন্টারফেস যোগ করা হয়েছে যা পূর্ববর্তী ()-> PagingSource ল্যাম্বডাসের তুলনায় আরও স্পষ্ট API পৃষ্ঠ প্রদান করে। এই ফ্যাক্টরিটি পেজারকে ইনস্ট্যান্ট করতে ব্যবহার করা যেতে পারে।

সংস্করণ 3.2.0-rc01

জুন 21, 2023

androidx.paging:paging-*:3.2.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 3.2.0-rc01-এ এই কমিট রয়েছে।

বাহ্যিক অবদান

  • পেজিংকে অ্যান্ড্রয়েড/জেভিএম স্পেসিফিকেশন থেকে দূরে সরিয়ে দেওয়ার জন্য অবদানের জন্য ভেইন্ডানকে ধন্যবাদ। ( #553 , #554 , #555 , #559 )

সংস্করণ 3.2.0-beta01

7 জুন, 2023

androidx.paging:paging-*:3.2.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 3.2.0-beta01-এ এই কমিট রয়েছে।

পেজিং রচনা

  • পেজিং কম্পোজ আনুষ্ঠানিকভাবে API স্থিতিশীলতায় পৌঁছেছে। যেমন, সংস্করণটি 1.0.0-alpha20 থেকে আপডেট করা হয়েছে এখন অন্য সমস্ত পেজিং আর্টিফ্যাক্টের সংস্করণের সাথে মেলে।

এপিআই পরিবর্তন

সংস্করণ 3.2.0-alpha06

24 মে, 2023

androidx.paging:paging-*:3.2.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 3.2.0-alpha06 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট্য

  • একটি নতুন PagingSourceFactory কার্যকরী ইন্টারফেস যোগ করা হয়েছে যা বিদ্যমান () -> PagingSource ল্যাম্বডাসের তুলনায় আরও স্পষ্ট API পৃষ্ঠ প্রদান করে। এই ফ্যাক্টরিটি একটি Pager ইনস্ট্যান্টিয়েট করতে ব্যবহার করা যেতে পারে। ( I33165 , b/280655188 )
  • একটি PagingSourceFactory পেতে List<Value>.asPagingSourceFactory() এর নতুন paging-testing API যোগ করা হয়েছে যা শুধুমাত্র ডেটার অপরিবর্তনীয় তালিকা থেকে লোড হয়। Flow<List<Value>> এ বিদ্যমান এক্সটেনশনটি এখনও স্ট্যাটিক ডেটার একাধিক প্রজন্মের সাথে পরীক্ষার জন্য ব্যবহার করা উচিত। ( Id34d1 , b/280655188 )

এপিআই পরিবর্তন

  • পেজিং-টেস্টিং-এ সমস্ত পাবলিক API এখন @VisibleForTesting সাথে টীকা করা হয়েছে যাতে এই APIগুলি শুধুমাত্র পরীক্ষায় ব্যবহার করা হয়। ( I7db6e )
  • asSnapshot API-এর আর কোনো CoroutineScope এ পাস করার প্রয়োজন নেই। এটি এখন এর মূল সুযোগ থেকে উত্তরাধিকারসূত্রে প্রাপ্ত প্রসঙ্গ ব্যবহার করার জন্য ডিফল্ট। ( Id0a78 , b/282240990 )
  • প্রকৃত Pager কনস্ট্রাক্টর প্যারামিটারের ( I6185a ) সাথে স্বজ্ঞাতভাবে মেলে TestPager কনস্ট্রাক্টর প্যারামিটারগুলি পুনরায় সাজানো হয়েছে
  • মাইগ্রেটেড পেজিং-টেস্টিং-এর ল্যাম্বডা টাইপ ব্যবহার () -> PagingSource<Key, Value> PagingSourceFactory<Key, Value> টাইপ করতে। ( I4a950 , b/280655188 )

আচরণ পরিবর্তন

  • asSnapshot পেজিং পরীক্ষা হিসাবে চালানোর জন্য প্রধান প্রেরণকারীর আর প্রয়োজন নেই। এটি সেট করা আর পরীক্ষার আচরণে কোনো পরিবর্তন করে না। ( IE56ea )

সংস্করণ 3.2.0-alpha05

3 মে, 2023

androidx.paging:paging-*:3.2.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 3.2.0-alpha05 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • asSnapshot এর পেজিং টেস্টিং API এখন তার loadOperations প্যারামিটারটিকে একটি খালি lambda-তে ডিফল্ট করে। এটি প্রাথমিক রিফ্রেশ লোড থেকে ডেটা পুনরুদ্ধার করতে কোনও লোড অপারেশনে পাস না করে asSnapshot কল করার অনুমতি দেয়। ( Ied354 , b/277233770 )

ডকুমেন্টেশন উন্নতি

  • asPagingSourceFactory() এ ডকুমেন্টেশন আপডেট করা হয়েছে স্পষ্ট করার জন্য যে এটি একটি Flow একটি এক্সটেনশন পদ্ধতি যা PagingSource দৃষ্টান্ত তৈরি করার জন্য একটি পুনঃব্যবহারযোগ্য কারখানা প্রদান করে। ( I5ff4f , I705b5 )
  • LoadResult.Page কনস্ট্রাক্টরে ডকুমেন্টেশন আপডেট করা হয়েছে itemsBeforeitemsAfter জাম্পিং সমর্থন করার জন্য ওভাররাইড করার প্রয়োজনীয়তা স্পষ্ট করতে। ( Ied354 )

বাহ্যিক অবদান

  • পেজিংকে অ্যান্ড্রয়েড/জেভিএম স্পেসিফিকেশন থেকে দূরে সরিয়ে দেওয়ার জন্য অবদানের জন্য ভেইন্ডানকে ধন্যবাদ। ( #525 , #523 , #520 , #519 , #507 , # 506 , #505 , #499 , #497 , #496 , #493 )

সংস্করণ 3.2.0-alpha04

ফেব্রুয়ারী 8, 2023

androidx.paging:paging-*:3.2.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 3.2.0-alpha04 এই কমিট ধারণ করে।

পেজিং টেস্টিং

  • paging-testing আর্টিফ্যাক্টে এখন একটি পেজারে সরবরাহ করার জন্য একটি Flow<List<Value>> থেকে একটি pagingSourceFactory তৈরি করার জন্য একটি asPagingSourceFactory পদ্ধতি রয়েছে। ফ্লো থেকে নির্গত প্রতিটি List<Value>> পেজড ডেটার একটি প্রজন্মের প্রতিনিধিত্ব করে। এটি পেজিং পরীক্ষাকে সহজতর করে, উদাহরণস্বরূপ, পেজার থেকে সংগ্রহ করার জন্য একটি ডেটা উত্স জাল করে PagingData রূপান্তর। ( I6f230 , b/235528239 )
  • একটি Flow<PagingData<T>> সঠিক কিনা তা যাচাই করার জন্য উপযুক্ত নতুন APIগুলির সাথে paging-testing আর্টিফ্যাক্টটি প্রসারিত করা হয়েছে। এটি ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ, আপনার ViewModel স্তর থেকে একটি Flow<PagingData<T>> এর আউটপুট জাহির করতে।

    এটি Flow<PagingData<Value>>asSnapshot Kotlin এক্সটেনশনের মাধ্যমে করা হয়, যা Flow<PagingData<Value>> একটি সরাসরি List<Value> এ অনুবাদ করে। asSnapshot lambda আপনাকে API-এর মাধ্যমে আপনার অ্যাপের UI অনুকরণ করতে দেয় যেমন scrollTo বা appendScrollWhile এমনভাবে যেটি পুনরাবৃত্তিযোগ্য এবং সামঞ্জস্যপূর্ণ যাতে আপনি আপনার পৃষ্ঠাযুক্ত ডেটার সেটের যেকোনো সময়ে ডেটার স্ন্যাপশট সঠিক কিনা তা যাচাই করতে পারেন।

    // Create your ViewModel instance
    val viewModel = 
    // Get the Flow of PagingData from the ViewModel
    val data< Flow<PagingData<String>> = viewModel.data
    val snapshot: List<String> = data.asSnapshot {
      // Each operation inside the lambda waits for the data to settle before continuing
      scrollTo(index = 50)
    
      // While you can’t view the items within the asSnapshot call,
      // you can continuously scroll in a direction while some condition is true
      // i.e., in this case until you hit a placeholder item
      appendScrollWhile {  item: String -> item != Header 1 }
    }
    // With the asSnapshot complete, you can now verify that the snapshot
    // has the expected values
    

    asSnapshot হল একটি suspend পদ্ধতি যা runTest মধ্যে চালানো হবে বলে আশা করা হচ্ছে। আরও তথ্যের জন্য অ্যান্ড্রয়েডে কোটলিন কোরোটিন পরীক্ষা করা দেখুন। ( I55fd2 , I5bd26 , I7ce34 , I51f4d , I2249f , Id6223 , Ic4bab , Ib29b9 , Ic1238 , I96def , b/235528239 )

এপিআই পরিবর্তন

  • getItem এ UI কল করা এবং AsyncPagingDataDiffer এবং PagingDataAdapterpeek এখন সঠিকভাবে প্রধান থ্রেডে শুধুমাত্র কলযোগ্য হিসেবে চিহ্নিত করা হয়েছে। ( I699b6 )
  • TestPager দ্বারা ব্যবহৃত জেনেরিক ধরনের থেকে ওয়াইল্ডকার্ডগুলি সরানো হয়েছে, যা জাভা প্রোগ্রামিং ভাষায় লিখিত কোডগুলিতে সেই পদ্ধতিগুলির ফলাফলগুলি ব্যবহার করা সহজ করে তোলে। ( I56c42 )

সংস্করণ 3.2.0-alpha03

24 অক্টোবর, 2022

androidx.paging:paging-*:3.2.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 3.2.0-alpha03 এই কমিট ধারণ করে।

পেজিং টেস্টিং

এই রিলিজে একটি নতুন আর্টিফ্যাক্ট রয়েছে: paging-testing । এই আর্টিফ্যাক্টটি আপনার অ্যাপের প্রতিটি স্তরের ইউনিট পরীক্ষা করে এবং বিচ্ছিন্নভাবে পেজিংয়ের সাথে এর একীকরণের চারপাশে ডিজাইন করা API প্রদান করে।

উদাহরণস্বরূপ, এই প্রথম রিলিজে একটি TestPager ক্লাস রয়েছে যা আপনাকে Pager এবং বাস্তব UI থেকে স্বাধীনভাবে আপনার নিজস্ব কাস্টম PagingSource বাস্তবায়নের আচরণকে যাচাই করতে দেয় যা আপনাকে সাধারণত এন্ড-টু-এন্ড পেজিং ইন্টিগ্রেশন অনুকরণ করতে হবে।

TestPager একটি জাল হিসাবে বিবেচনা করা উচিত - একটি পরীক্ষা দ্বিগুণ যা একটি PagingSource পরীক্ষার জন্য একটি সরলীকৃত API পৃষ্ঠ প্রদান করার সময় Pager বাস্তব বাস্তবায়নকে প্রতিফলিত করে। এই APIগুলি suspend API এবং Android-এ Kotlin coroutines পরীক্ষা করার নির্দেশিকাতে বর্ণিত হিসাবে runTest মধ্যে চালানো উচিত৷

ব্যবহার করা এই APIগুলির একটি উদাহরণ room-paging পরীক্ষায় পাওয়া যেতে পারে, যা TestPager ব্যবহার করার জন্য রিফ্যাক্টর করা হয়েছিল।

এপিআই পরিবর্তন

  • LoadResult.Page.iterator() এর মাধ্যমে LoadResult.Page.data এর উপর সুবিধাজনক পুনরাবৃত্তি সক্ষম করে। এটি পরোক্ষভাবে Kotlin স্ট্যান্ডার্ড লাইব্রেরি flatten পদ্ধতির ব্যবহারের অনুমতি দেয় যখন একটি List<LoadResult.Page> দেওয়া হয় যেমন PagingState এর pages সম্পত্তি যা PagingSource.getRefreshKey পদ্ধতিতে পাস করা হয়। ( IE0718 )

সংস্করণ 3.2.0-alpha02

10 আগস্ট, 2022

androidx.paging:paging-*:3.2.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 3.2.0-alpha02 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট্য

  • পেজিং এখন AsyncPagingDataDiffer বা PagingDataAdapter ক্লাসের মাধ্যমে PagingData থেকে সংগৃহীত ডিবাগিং তথ্য প্রকাশ করার জন্য লগ প্রদান করে।
  • লগগুলি adb shell কমান্ড adb shell setprop log.tag.Paging [DEBUG|VERBOSE]. ( b/235527159 )

বাগ ফিক্স

  • paging-common:3.2.0-alpha01 রানটাইম paging-runtime:3.1.1 বা তার বেশি ব্যবহার করার সময় অনুপস্থিত PagingDataDiffer কনস্ট্রাক্টর ত্রুটি সংশোধন করা হয়েছে।( b/235256201 )

সংস্করণ 3.2.0-alpha01

জুন 1, 2022

androidx.paging:paging-*:3.2.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 3.2.0-alpha01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • PagingDataAdapter এবং AsyncPagingDataDiffer জন্য কনস্ট্রাক্টর যোগ করা হয়েছে যা CoroutineDispatcher পরিবর্তে CoroutineContext স্বীকার করে। ( আইডিসি৮৭৮ )
  • ডিফল্টরূপে, PagingData.from() এবং PagingData.empty() উপস্থাপকের পাশে CombinedLoadStates আর প্রভাবিত করবে না। একটি নতুন ওভারলোড যা এই কন্সট্রাকটরগুলিতে sourceLoadStates এবং remoteLoadStates পাস করার অনুমতি দেয় LoadStates সম্পূর্ণ টার্মিনাল হিসাবে সেট করার বিদ্যমান আচরণ বজায় রাখতে যোগ করা হয়েছে (যেমন, NotLoading(endOfPaginationReached = false) ), প্রয়োজনে দূরবর্তী রাজ্যগুলিকে অন্তর্ভুক্ত করার বিকল্প সহ . যদি LoadStates পাস না করা হয়, তাহলে পূর্ববর্তী CombinedLoadStates উপস্থাপকের পাশে রক্ষণাবেক্ষণ করা হবে যখন এটি স্ট্যাটিক PagingData পাবে। ( Ic3ce5 , b/205344028 )

বাগ ফিক্স

  • PagingSource.getRefreshKey() এর ফলাফলটি এখন সঠিকভাবে initialKey উপর প্রাধান্য দেওয়া হয়েছে যেখানে এটি শূন্য হবে, কিন্তু একটি নন-নাল initialKey সেট করা হয়েছে। ( IC9542 , b/230391606 )

বাহ্যিক অবদান

  • আপডেট করা হয়েছে :compose:ui:ui-test api (updateApi) test-coroutines-lib মাইগ্রেশনের কারণে ( I3366d )

সংস্করণ 3.1

সংস্করণ 3.1.1

9 মার্চ, 2022

androidx.paging:paging-*:3.1.1 প্রকাশিত হয়েছে। সংস্করণ 3.1.1 এই কমিট ধারণ করে.

বাগ ফিক্স

  • মধ্যবর্তী LoadState.NotLoading সরানো হয়েছে। .cachedIn() দ্বারা ভুলভাবে ঢোকানো প্রজন্মের মধ্যে ইভেন্ট লোড হচ্ছে না। এই পরিবর্তনটি অপ্রয়োজনীয় LoadState.NotLoading ইভেন্টগুলিকে সরিয়ে দিয়ে LoadState পরিবর্তনগুলিতে প্রতিক্রিয়া জানাতে অনেক সহজ করে তোলে যা ব্যর্থ লোডগুলি পুনরায় চেষ্টা করার সময়, রিফ্রেশ করার সময় বা অবৈধ হওয়ার সময় তৈরি হয়েছিল৷

সংস্করণ 3.1.0

17 নভেম্বর, 2021

androidx.paging:paging-*:3.1.0 প্রকাশিত হয়েছে। সংস্করণ 3.1.0 এই কমিট ধারণ করে.

3.0.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • Flow<PagingData>.observable এবং Flow<PagingData>.flowable APIগুলি আর পরীক্ষামূলক নয়
  • LoadState আচরণের পরিবর্তন:
    • endOfPaginationReached এখন LoadType.REFRESH PagingSource RemoteMediator false
    • পেজিং থেকে LoadStates ডাউনস্ট্রিম নির্গত করার আগে PagingSource এবং RemoteMediator উভয়ের বৈধ মানগুলির জন্য অপেক্ষা করছে৷ নতুন প্রজন্মের PagingData এখন কিছু ক্ষেত্রে ভুলভাবে NotLoading এ রিসেট করার পরিবর্তে রিফ্রেশ অবস্থার জন্য Loading দিয়ে সঠিকভাবে শুরু করবে।
    • উপস্থাপক এপিআই-এ .loadStateFlow এবং .addLoadStateListener আর অপ্রয়োজনীয়ভাবে একটি প্রাথমিক CombinedLoadStates পাঠায় না যেখানে সর্বদা মধ্যস্থতাকারী অবস্থা null সেট করা থাকে
  • অতীত প্রজন্মের উপর বাতিল এখন অবৈধ / নতুন প্রজন্মের উপর সাগ্রহে ঘটবে। Flow<PagingData>.collectLatest ব্যবহার করার আর প্রয়োজন হবে না, যদিও এটি এখনও করার পরামর্শ দেওয়া হচ্ছে।
  • PagingSource.LoadResult.Invalid PagingSource.load থেকে একটি নতুন রিটার্ন টাইপ হিসেবে যোগ করা হয়েছে, যার কারণে পেজিং এই PagingSource কোনো মুলতুবি বা ভবিষ্যতে লোডের অনুরোধ বাতিল করে এবং এটিকে বাতিল করে। এই রিটার্ন টাইপটি সম্ভাব্য অবৈধ বা বাসি ডেটা পরিচালনা করার জন্য ডিজাইন করা হয়েছে যা ডাটাবেস বা নেটওয়ার্ক থেকে ফেরত দেওয়া যেতে পারে।
  • .onPagesPresented এবং .addOnPagesUpdatedListener উপস্থাপক API যোগ করা হয়েছে যা পৃষ্ঠাগুলি UI-তে উপস্থাপিত হওয়ার সাথে সাথে সিঙ্ক্রোনাসভাবে ট্রিগার হয়। পৃষ্ঠা আপডেটগুলি নিম্নলিখিত পরিস্থিতিতে ঘটতে পারে:
    • পেজিং ডেটার একটি নতুন প্রজন্মের প্রাথমিক লোড সম্পূর্ণ হয়, নতুন প্রজন্মের উপস্থাপিত আইটেমগুলিতে কোনো পরিবর্তন থাকলে তা নির্বিশেষে। অর্থাত্, একটি নতুন প্রজন্ম কোনো আপডেট ছাড়াই প্রাথমিক লোড সম্পূর্ণ করছে কারণ তালিকাটি ঠিক একই রকম এখনও এই কলব্যাকটিকে ট্রিগার করবে।
    • একটি পৃষ্ঠা ঢোকানো হয়, এমনকি যদি সন্নিবেশিত পৃষ্ঠাটিতে কোনো নতুন আইটেম না থাকে।
    • একটি পৃষ্ঠা বাদ দেওয়া হয়, এমনকি যদি বাদ দেওয়া পৃষ্ঠাটি খালি ছিল।

সংস্করণ 3.1.0-rc01

3 নভেম্বর, 2021

androidx.paging:paging-*:3.1.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 3.1.0-rc01-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • .cachedIn() তে রেস কন্ডিশন + মেমরি লিক ঠিক করা হয়েছে যেখানে কোনো পর্যবেক্ষক না থাকা অবস্থায় পেজিং ডাউনস্ট্রিমের মাধ্যমে একাধিক লোড ইভেন্ট পাঠানো হয়েছে বা যখন একজন পর্যবেক্ষক একটি নতুন পেজিংডেটাতে স্যুইচ করছে। ( Ib682e )

সংস্করণ 3.1.0-beta01

13 অক্টোবর, 2021

androidx.paging:paging-*:3.1.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 3.1.0-beta01-এ এই কমিট রয়েছে।

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে অনেক দ্রুত আইটেম অ্যাক্সেসের ফলে সেগুলিকে প্রিফেচডিসট্যান্সে বিবেচনার জন্য বাদ দেওয়া হতে পারে, যার ফলে পৃষ্ঠা লোড বন্ধ হয়ে যায়। এটি বিশেষত একটি সমস্যা যখন অনেকগুলি আইটেম একবারে এমন একটি ক্রমে সাজানো হয় যা ব্যবহারকারীর স্ক্রোল দিকনির্দেশের বিপরীতে লোডিংকে অগ্রাধিকার দেয়। এই আইটেম অ্যাক্সেসগুলিকে এখন বাফার করা হয়েছে এবং সিঙ্ক্রোনাসভাবে অগ্রাধিকার দেওয়া হয়েছে যাতে সেগুলি বাদ না যায়৷ ( aosp/1833273 )

সংস্করণ 3.1.0-alpha04

29 সেপ্টেম্বর, 2021

androidx.paging:paging-*:3.1.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 3.1.0-alpha04 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • Flow<PagingData>.observable এবং Flow<PagingData>.flowable APIগুলি আর পরীক্ষামূলক নয়৷ ( Ie0bdd )

বাগ ফিক্স

  • LoadStates এর জন্য, endOfPaginationReached এখন LoadType.REFRESH এর জন্য সর্বদা false । পূর্বে, RemoteMediator REFRESH জন্য endOfPaginationReached-এর জন্য true হওয়া সম্ভব ছিল, কিন্তু পেজিংসোর্সের জন্য নয়। এই আচরণটি এখন সর্বদা false ফেরত দেওয়ার জন্য একত্রিত করা হয়েছে কারণ এটি REFRESH-এর টার্মিনাল হওয়ার জন্য কখনই বোঝা যায় না, এবং এখন LoadStates-এ API চুক্তির অংশ হিসাবে নথিভুক্ত করা হয়েছে। পৃষ্ঠা সংখ্যা বন্ধ করা হয়েছে কিনা তা সিদ্ধান্ত নেওয়ার সময়, আপনাকে সবসময় APPEND বা PREPEND নির্দেশাবলীর ক্ষেত্রে তা করতে হবে। ( I047b6 )
  • পেজিং থেকে লোডস্টেটগুলি এখন প্রজন্মের মধ্যে ডাউনস্ট্রিম নির্গত করার আগে পেজিংসোর্স এবং রিমোটমিডিয়েটর উভয়ের বৈধ মানগুলির জন্য অপেক্ষা করছে৷ এটি পেজিং ডেটার নতুন প্রজন্মকে CombinedLoadStates.source.refresh-এ NotLoading পাঠাতে বাধা দেয় যদি এটি ইতিমধ্যেই লোড হচ্ছে; নতুন প্রজন্মের PagingData এখন কিছু ক্ষেত্রে ভুলভাবে NotLoading-এ রিসেট করার পরিবর্তে রিফ্রেশ অবস্থার জন্য লোডিং দিয়ে সঠিকভাবে শুরু করবে।

    অতীত প্রজন্মের উপর বাতিল এখন অবৈধ / নতুন প্রজন্মের উপর সাগ্রহে ঘটবে। Flow<PagingData> এ .collectLatest ব্যবহার করার জন্য এটি আর প্রয়োজন হবে না, যদিও এটি এখনও অত্যন্ত সুপারিশ করা হয়। ( I0b2b5 , b/177351336 , b/195028524 )

  • উপস্থাপক এপিআই-এ .loadStateFlow এবং .addLoadStateListener আর অপ্রয়োজনীয়ভাবে একটি প্রাথমিক CombinedLoadStates পাঠায় না যেখানে সবসময় মধ্যস্থতাকারী স্টেট null সেট করা থাকে এবং সোর্স স্টেট NotLoading(endOfPaginationReached = false) এ সেট করা থাকে। এর মানে হল:

    1. আপনি যদি RemoteMediator ব্যবহার করেন তবে মধ্যস্থতাকারী রাজ্যগুলি সর্বদা জনবহুল হবে।
    2. .loadStateFlow এ একটি নতুন loadState শ্রোতা বা একটি নতুন সংগ্রাহক নিবন্ধন করা হলে তা অবিলম্বে বর্তমান মান নির্গত করবে না যদি এটি PagingData থেকে প্রকৃত CombinedLoadStates না পায়। PagingData জমা দেওয়ার আগে একজন সংগ্রাহক বা শ্রোতা শুরু করলে এটি ঘটতে পারে। ( I1a748 )

সংস্করণ 3.1.0-alpha03

জুলাই 21, 2021

androidx.paging:paging-*:3.1.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 3.1.0-alpha03 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • একটি তৃতীয় LoadResult রিটার্ন টাইপ LoadResult.Invalid পেজিংসোর্সে যোগ করা হয়েছে। যখন একটি PagingSource.load LoadResult.Invalid ফেরত দেয়, তখন পেজিং লোড করা ডেটা বাতিল করে এবং পেজিংসোর্সকে অবৈধ করে দেয়। এই রিটার্ন টাইপটি সম্ভাব্য অবৈধ বা বাসি ডেটা পরিচালনা করার জন্য ডিজাইন করা হয়েছে যা ডাটাবেস বা নেটওয়ার্ক থেকে ফেরত দেওয়া যেতে পারে।

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

    এই রিটার্ন টাইপ পেজিং 2 এপিআই দ্বারা সমর্থিত যা LivePagedList বা RxPagedList ব্যবহার করে। Paging2-এর PagedList API-এর সাথে একটি পেজিংসোর্স ব্যবহার করার সময়, PagedList অবিলম্বে বিচ্ছিন্ন হয়ে যায়, এই PagedList-এ ডেটা লোড করার আরও প্রচেষ্টা বন্ধ করে এবং পেজিংসোর্সে অবৈধতা ট্রিগার করে৷

    LoadResult হল একটি সীলমোহর করা শ্রেণী, যার মানে হল এটি একটি উৎস-অসঙ্গতিপূর্ণ পরিবর্তন যেমন PagingSource.load ফলাফলগুলি ব্যবহার করে কেসগুলিকে সরাসরি কম্পাইলের সময় LoadResult.Invalid পরিচালনা করতে হবে৷ উদাহরণ স্বরূপ, Kotlin ব্যবহারকারীরা সম্পূর্ণভাবে ব্যবহার করছেন- কখন রিটার্ন টাইপ চেক করতে হবে অবৈধ টাইপের জন্য একটি চেক যোগ করতে হবে। ( Id6bd3 , b/191806126 , b/192013267 )

বাগ ফিক্স

  • PagingSource.registerInvalidatedCallback বা DataSource.addInvalidatedCallback-এর মাধ্যমে অবৈধ কলব্যাকগুলি এখন স্বয়ংক্রিয়ভাবে ট্রিগার হয় যদি সেগুলি একটি পেজিংসোর্স/ডেটাসোর্সে নিবন্ধিত হয় যা ইতিমধ্যেই অবৈধ ছিল৷ এটি একটি রেস অবস্থার সমাধান করে যার কারণে পেজিং অবৈধতার সংকেত ড্রপ করে এবং একটি উত্স সরবরাহ করলে আটকে যায় যা প্রাথমিক লোডের সময় ইতিমধ্যেই অবৈধ ছিল। অতিরিক্তভাবে, অবৈধ কলব্যাকগুলি এখন ট্রিগার হওয়ার পরে সঠিকভাবে সরানো হয়েছে কারণ সেগুলিকে সর্বাধিক একবার কল করার নিশ্চয়তা রয়েছে৷ ( I27e69 )
  • একটি নতুন ইনস্ট্যান্টিয়েটেড PagedList স্ট্রীম থেকে স্থানধারক প্রাথমিক মান (InitialPagedList) জমা দেওয়া, যেমন, LivePagedListBuilder বা RxPagedListBuilder পূর্বে লোড করা ডেটা আর পরিষ্কার করবে না।

সংস্করণ 3.1.0-alpha02

জুলাই 1, 2021

androidx.paging:paging-*:3.1.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 3.1.0-alpha02 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট্য

  • অনপেজে যোগ করা হয়েছে উপস্থাপিত শ্রোতা এবং ফ্লো উপস্থাপক API যা উপস্থাপিত পৃষ্ঠাগুলি UI-তে আপডেট হওয়ার পরপরই ট্রিগার করে।

    যেহেতু এই আপডেটগুলি UI এর সাথে সিঙ্ক্রোনাস, আপনি আপডেট প্রয়োগ করার পরে অবস্থা পরিদর্শন করতে অ্যাডাপ্টার পদ্ধতি যেমন .snapshot, .getItemCount কল করতে পারেন৷ মনে রাখবেন যে .snapshot() কে স্পষ্টভাবে কল করা বাকি ছিল কারণ এটি প্রতিটি আপডেটে করা ব্যয়বহুল হতে পারে।

    পৃষ্ঠা আপডেটগুলি নিম্নলিখিত পরিস্থিতিতে ঘটতে পারে:

    • পেজিং ডেটার একটি নতুন প্রজন্মের প্রাথমিক লোড সম্পূর্ণ হয়, নতুন প্রজন্মের উপস্থাপিত আইটেমগুলিতে কোনো পরিবর্তন থাকলে তা নির্বিশেষে। অর্থাত্, একটি নতুন প্রজন্ম কোনো আপডেট ছাড়াই প্রাথমিক লোড সম্পূর্ণ করছে কারণ তালিকাটি ঠিক একই রকম এখনও এই কলব্যাকটিকে ট্রিগার করবে।
    • একটি পৃষ্ঠা ঢোকানো হয়, এমনকি যদি সন্নিবেশিত পৃষ্ঠাটিতে কোনো নতুন আইটেম না থাকে
    • একটি পৃষ্ঠা বাদ দেওয়া হয়, এমনকি যদি বাদ দেওয়া পৃষ্ঠাটি খালি থাকে ( I272c9 , b/189999634 )

বাগ ফিক্স

  • LivePagedList বা RxPagedList দ্বারা উত্পাদিত প্রাথমিক মান থেকে PagedList.dataSource অ্যাক্সেস করা আর ভুলভাবে একটি IllegalStateException ( I96707 ) নিক্ষেপ করবে না

সংস্করণ 3.1.0-alpha01

2 জুন, 2021

androidx.paging:paging-*:3.1.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 3.1.0-alpha01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • paging-rxjava3 দ্বারা প্রদত্ত ক্লাসগুলি এখন androidx.paging.rxjava3 প্যাকেজের অধীনে থাকে যাতে তারা paging-rxjava2 ( Ifa7f6 ) এর সাথে বিরোধ না করে

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে পেজিং কখনও কখনও রিসাইক্লারভিউতে নো-অপ ডিফার ইভেন্ট পাঠাবে, যা নির্দিষ্ট শ্রোতাদের তাড়াতাড়ি ট্রিগার করতে পারে। ( Ic507f , b/182510751 )

বাহ্যিক অবদান

  • rxjava3 আর্টিফ্যাক্ট ( Id1ce2 , b/182497591 ) এ অবচয়িত PagedList compat API যোগ করা হয়েছে

পেজিং কম্পোজ সংস্করণ 1.0.0

সংস্করণ 1.0.0-alpha20

24 মে, 2023

androidx.paging:paging-compose:1.0.0-alpha20 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha20 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট্য

  • পেজিং কম্পোজ এখন একটি PagingData.from(fakeData) তৈরি করে এবং সেই PagingData টিকে MutableStateFlow (যেমন, MutableStateFlow(PagingData.from(listOf(1, 2, 3))) ) তৈরি করে জাল ডেটার একটি তালিকার পূর্বরূপ দেখতে সমর্থন করে৷ আপনার @Preview এ ইনপুট হিসাবে সেই ডেটা ব্যবহার করে, collectAsLazyPagingItems() এর কলগুলি প্রিভিউযোগ্য LazyPagingItems প্রদান করবে। ( I8a78d , b/194544557 )

বাগ ফিক্স

  • pager.flow.cachedIn থেকে ক্যাশে করা ডেটা যা LazyPagingItems এ সংগ্রহ করা হয়েছে এখন অ্যাসিঙ্ক্রোনাস সংগ্রহের প্রয়োজন ছাড়াই রাজ্য পুনরুদ্ধারের পরে অবিলম্বে উপলব্ধ হবে৷ এর অর্থ হল ক্যাশে করা ডেটা স্টেট পুনরুদ্ধার করার পরে প্রাথমিক রচনার সাথে সাথে উপস্থাপনার জন্য প্রস্তুত হবে। ( I97a60 , b/177245496 )

সংস্করণ 1.0.0-alpha19

3 মে, 2023

androidx.paging:paging-compose:1.0.0-alpha19 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha19-এ এই কমিট রয়েছে।

সব অলস বিন্যাস সমর্থন

পূর্বে, পেজিং কম্পোজ LazyListScope এ কাস্টম items এবং itemsIndexed এক্সটেনশন প্রদান করেছিল, যার অর্থ হল আপনি LazyVerticalGrid , HorizontalPager , বা Wear এবং TV লাইব্রেরি দ্বারা প্রদত্ত অন্যান্য অলস লেআউটগুলির সাথে পেজিং কম্পোজ ব্যবহার করতে পারবেন না৷ এই অনমনীয়তা মোকাবেলা করা এই রিলিজের প্রাথমিক আপডেট।

আরও অলস লেআউট সমর্থন করার জন্য, আমাদের একটি ভিন্ন স্তরে API তৈরি করতে হবে - প্রতিটি অলস লেআউটের জন্য একটি কাস্টম items API প্রদান করার পরিবর্তে, পেজিং রচনা এখন itemKey এবং itemContentTypeLazyPagingItems এ সামান্য নিম্ন স্তরের এক্সটেনশন পদ্ধতি সরবরাহ করে। LazyColumn , LazyVerticalGrid এবং HorizontalPager এর মত এপিআই-এ তাদের সমতুল্যগুলির জন্য ইতিমধ্যেই বিদ্যমান স্ট্যান্ডার্ড items APIগুলির key এবং contentType পরামিতিগুলি প্রয়োগ করতে এই APIগুলি আপনাকে সাহায্য করার উপর ফোকাস করে। ( Ifa13b , Ib04f0 , b/259385813 )

এর মানে হল যে একটি LazyVerticalGrid সমর্থন করা দেখতে এরকম হবে:

// This part is unchanged
val lazyPagingItems = pager.collectAsLazyPagingItems()

LazyVerticalGrid(columns = GridCells.Fixed(2)) {
  // Here we use the standard items API
  items(
    count = lazyPagingItems.itemCount,
    // Here we use the new itemKey extension on LazyPagingItems to
    // handle placeholders automatically, ensuring you only need to provide
    // keys for real items
    key = lazyPagingItems.itemKey { it.uniqueId },
    // Similarly, itemContentType lets you set a custom content type for each item
    contentType = lazyPagingItems.itemContentType { "contentType" }
  ) { index ->
    // As the standard items call provides only the index, we get the item
    // directly from our lazyPagingItems
    val item = lazyPagingItems[index]
    PagingItem(item = item)
  }
}

এই নতুন APIগুলি ব্যবহার করার আরও উদাহরণের জন্য, দয়া করে আমাদের নমুনাগুলি দেখুন৷

যদিও এই পরিবর্তনগুলি LazyColumn এবং LazyRow উদাহরণগুলিকে কয়েক লাইন দীর্ঘ করে তোলে, আমরা অনুভব করেছি যে সমস্ত অলস বিন্যাস জুড়ে সামঞ্জস্যতা যারা পেজিং কম্পোজ ব্যবহার করছেন তাদের জন্য একটি গুরুত্বপূর্ণ বিষয়। সেই কারণে, LazyListScope এ বিদ্যমান এক্সটেনশনগুলি এখন অবমূল্যায়িত করা হয়েছে। ( I0c459 , I92c8f , b/276989796 )

এপিআই পরিবর্তন

  • নতুন API-এ স্থানান্তর সহজ করতে, LazyListScopeitems এবং itemsIndexed এক্সটেনশন ফাংশনগুলি এখন একটি contentType পরামিতি সমর্থন করে, নতুন APIগুলিতে সমর্থনকে মিরর করে৷ ( Ib1918 , b/255283378 )

নির্ভরতা আপডেট

  • পেজিং কম্পোজ এর নির্ভরতা কম্পোজ 1.0.5 থেকে কম্পোজ 1.2.1 এ আপডেট করেছে। ( Ib1918 , b/255283378 )

সংস্করণ 1.0.0-alpha18

ফেব্রুয়ারী 8, 2023

androidx.paging:paging-compose:1.0.0-alpha18 কোনো পরিবর্তন ছাড়াই প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-alpha18-এ এই কমিট রয়েছে।

সংস্করণ 1.0.0-alpha17

24 অক্টোবর, 2022

androidx.paging:paging-compose:1.0.0-alpha17 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha17 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট্য

  • collectLazyPagingItems কল করার সময় একটি কাস্টম CoroutineContext জন্য সমর্থন যোগ করুন। ( I7a574 , b/243182795 , b/233783862 )

সংস্করণ 1.0.0-alpha16

10 আগস্ট, 2022

androidx.paging:paging-compose:1.0.0-alpha16 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha16-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট্য

  • পেজিং এখন পেজিং ডেটা থেকে সংগৃহীত ডিবাগিং তথ্য প্রকাশ করতে LazyPagingItems ক্লাসের মাধ্যমে লগ প্রদান করে।
  • লগগুলি adb shell কমান্ড adb shell setprop log.tag.Paging [DEBUG|VERBOSE] এর মাধ্যমে সক্রিয় করা যেতে পারে। ([b/235527159}(https://issuetracker.google.com/issues/235527159))

বাগ ফিক্স

  • paging-common:3.1.1 বা তার বেশির সাথে paging-compose:1.0.0-alpha15 ব্যবহার করার সময় অনুপস্থিত PagingDataDiffer কনস্ট্রাক্টর ত্রুটি সংশোধন করা হয়েছে।( b/235256201 , b/239868768 )

সংস্করণ 1.0.0-alpha15

জুন 1, 2022

androidx.paging:paging-compose:1.0.0-alpha15 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha15-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • PagingDataAdapter এবং AsyncPagingDataDiffer জন্য কনস্ট্রাক্টর যোগ করা হয়েছে যা CoroutineDispatcher পরিবর্তে CoroutineContext স্বীকার করে। ( আইডিসি৮৭৮ )

বাগ ফিক্স

  • LazyPagingItems এখন একটি LoadState. LoadState.Loading রিফ্রেশ করার জন্য প্রাথমিক loadState সেট করে। ( I55043 , b/224855902 )

সংস্করণ 1.0.0-alpha14

13 অক্টোবর, 2021

androidx.paging:paging-compose:1.0.0-alpha14 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha14 এই কমিট ধারণ করে।

সংস্করণ 1.0.0-alpha13

29 সেপ্টেম্বর, 2021

androidx.paging:paging-compose:1.0.0-alpha13 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha13-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • LazyPagingItems.snapshot() ফাংশন LazyPagingItems.itemSnapshotList প্রপার্টি ( Ie2da8 ) দিয়ে প্রতিস্থাপিত হয়েছে
  • অপ্রচলিত LazyPagingItems.getAsState() সরানো হয়েছে ( Ie65e4 )

সংস্করণ 1.0.0-আলফা12

জুলাই 21, 2021

androidx.paging:paging-compose:1.0.0-alpha12 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha12-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • items(lazyPagingItems) এবং itemsIndexed(lazyPagingItems) পেজিংকে LazyColumn/Row দিয়ে সংযুক্ত করতে ব্যবহৃত হয় এখন বিকল্প কী প্যারামটি গ্রহণ করুন যা আপনাকে আইটেমটির প্রতিনিধিত্বকারী একটি স্থিতিশীল কী নির্দিষ্ট করতে দেয়। আপনি এখানে কী সম্পর্কে আরও পড়তে পারেন। ( I7986d )
  • ফাংশন lazyPagingItems.getAsState(index) এখন হ্রাস করা হয়। পরিবর্তে lazyPagingItems[index] ব্যবহার করুন। ( I086cb , খ/187339372 )

সংস্করণ 1.0.0-alpha11

৩০ জুন, ২০২১

androidx.paging:paging-compose:1.0.0-alpha11 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha11-এ এই কমিট রয়েছে।

সংস্করণ 1.0.0-আলফা10

2 জুন, 2021

androidx.paging:paging-compose:1.0.0-alpha10 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha10 এই কমিট ধারণ করে।

সংস্করণ 1.0.0-alpha09

18 মে, 2021

androidx.paging:paging-compose:1.0.0-alpha09 প্রকাশিত হয়েছে। 1.0.0-alpha09 সংস্করণে এই কমিট রয়েছে।

বাগ ফিক্স

  • লাজাইপেজিং আইটেমগুলির আইটেমকাউন্ট এবং আইটেম গেটর এখন পর্যবেক্ষণযোগ্য যা এটি অলসভার্টিকালগ্রিডের সাথেও ব্যবহার করতে দেয় ( আইই 2446 , বি/171872064 , বি/168285687 )

সামঞ্জস্যতা রচনা

  • androidx.paging:paging-compose:1.0.0-alpha09 কেবলমাত্র কমপোজ সংস্করণ 1.0.0-beta07 এবং তারও বেশি সাথে সামঞ্জস্যপূর্ণ।

সংস্করণ 1.0.0-alpha08

24 ফেব্রুয়ারি, 2021

androidx.paging:paging-compose:1.0.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha08 এই কমিট ধারণ করে।

রচনা 1.0.0-BETA01 এর সাথে সংহত করতে আপডেট হয়েছে।

সংস্করণ 1.0.0-alpha07

ফেব্রুয়ারী 10, 2021

androidx.paging:paging-compose:1.0.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha07 এই কমিট ধারণ করে।

রচনা আলফা 12 এর সাথে সংহত করতে আপডেট হয়েছে।

সংস্করণ 1.0.0-alpha06

28 জানুয়ারী, 2021

androidx.paging:paging-compose:1.0.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha06 এই কমিট ধারণ করে।

বাগ ফিক্স

রচনা 1.0.0-আলফা 11 এর উপর নির্ভর করতে আপডেট হয়েছে।

সংস্করণ 1.0.0-alpha05

13 জানুয়ারী, 2021

androidx.paging:paging-compose:1.0.0-alpha05 প্রকাশিত হয়েছে। 1.0.0-alpha05 সংস্করণে এই কমিট রয়েছে।

রচনা 1.0.0-আলফা 10 এর উপর নির্ভর করতে আপডেট হয়েছে।

সংস্করণ 1.0.0-alpha04

16 ডিসেম্বর, 2020

androidx.paging:paging-compose:1.0.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04 এই কমিট ধারণ করে।

বাগ ফিক্স

  • সুবিধামত বৈশিষ্ট্যগুলি, CombinedLoadStates.refresh , CombinedLoadStates.prepend , CombinedLoadStates.append আপডেট করেছেন Ret মধ্যস্থতাকারী এবং উত্স লোড উভয় রাষ্ট্রই রিমোট আপডেট প্রয়োগ করা হয়েছে তা নিশ্চিত করার জন্য NotLoading পরে কেবল Loading থেকে NotLoading রূপান্তরিত করার জন্য প্রস্তুত। ( I65619 )

সংস্করণ 1.0.0-alpha03

2 ডিসেম্বর, 2020

androidx.paging:paging-compose:1.0.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha03 এই কমিট ধারণ করে।

  • ম্যাচটি কমপোজ 1.0.0-Alpha08 এ আপডেট হয়েছে।

সংস্করণ 1.0.0-alpha02

11 নভেম্বর, 2020

androidx.paging:paging-compose:1.0.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha02 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • .snapshot() .peek() .retry() .refresh() LazyPagingItem AsyncPagingDataDiffer PagingDataAdapter

সংস্করণ 1.0.0-alpha01

অক্টোবর 28, 2020

androidx.paging:paging-compose:1.0.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট্য

paging-compose আর্টিফ্যাক্টটি পেজিং লাইব্রেরি এবং জেটপ্যাক রচনার মধ্যে সংহতকরণ সরবরাহ করে। একটি সহজ ব্যবহার উদাহরণ:

  @Composable
  @OptIn(ExperimentalLazyDsl::class)
  fun ItemsDemo(flow: Flow<PagingData<String>>) {
      val lazyPagingItems = flow.collectAsLazyPagingItems()
      LazyColumn {
          items(lazyPagingItems) {
              Text("Item is $it")
          }
      }
  }

সংস্করণ 3.0.1

সংস্করণ 3.0.1

জুলাই 21, 2021

androidx.paging:paging-*:3.0.1 প্রকাশিত হয়েছে। সংস্করণ 3.0.1 এ এই কমিটস রয়েছে।

বাগ ফিক্স

  • LivePagedList বা RxPagedList দ্বারা উত্পাদিত প্রাথমিক মান থেকে PagedList.dataSource অ্যাক্সেস করা আর ভুলভাবে একটি অবৈধ স্টেটেক্সেপশন ( আই 96707 ) নিক্ষেপ করবে না

সংস্করণ 3.0.0

সংস্করণ 3.0.0

5 মে, 2021

androidx.paging:paging-*:3.0.0 প্রকাশিত হয়েছে। সংস্করণ 3.0.0 এ এই কমিটস রয়েছে।

3.0.0 এর প্রধান বৈশিষ্ট্য

পেজিং ২.xx থেকে বিদ্যমান এপিআইয়ের বেশিরভাগ অংশ নিম্নলিখিত উন্নতি আনতে নতুন পেজিং 3 এপিআইয়ের পক্ষে হ্রাস করা হয়েছে:

  • কোটলিন করুটাইনস এবং প্রবাহের জন্য প্রথম শ্রেণির সমর্থন
  • বাতিল করার জন্য সমর্থন
  • অন্তর্নির্মিত লোড অবস্থা এবং ত্রুটি সংকেত
  • পুনরায় চেষ্টা করুন + রিফ্রেশ কার্যকারিতা
  • তিনটি ডেটাসোর্স সাবক্লাসকে একত্রিত প্যাগিংসোর্স ক্লাসে একত্রিত করা হয়েছে
  • বিভাজক যুক্ত করার জন্য অন্তর্নির্মিত একটি সহ কাস্টম পৃষ্ঠা রূপান্তর
  • রাষ্ট্রীয় শিরোনাম এবং পাদচরণ লোড হচ্ছে

সংস্করণ 3.0.0-RC01

21 এপ্রিল, 2021

androidx.paging:paging-*:3.0.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 3.0.0.0-RC01 এর মধ্যে এই কমিট রয়েছে।

বাগ ফিক্স

  • এমন একটি সমস্যা স্থির করা হয়েছে যেখানে পেজিং কখনও কখনও পুনর্ব্যবহারের জন্য কোনও-অপ-পৃথক ইভেন্ট প্রেরণ করে, যার ফলে নির্দিষ্ট শ্রোতাদের তাড়াতাড়ি ট্রিগার হতে পারে। ( আইসি 507 এফ , বি/182510751 )

সংস্করণ 3.0.0-BETA03

24 মার্চ, 2021

androidx.paging:paging-*:3.0.0-beta03 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-BETA03 এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • পুনর্ব্যবহারযোগ্য জাম্পগুলি প্রতিরোধের জন্য তালিকা পুনরায় লোড করা হলে স্থানধারীদের কীভাবে পরিচালনা করা হয় তা আমরা পুনর্নির্মাণ করেছি। বিশদের জন্য নালপ্যাডেডডিফিং.এমডি দেখুন। ( আইএফ 1490 , বি/170027529 , বি/177338149 )
  • বিভিন্ন পেজডলিস্ট বিল্ডার (পুরাতন সামঞ্জস্যতার পথ) আর ভুলভাবে সিঙ্ক্রোনালি DataSource.Factory.create() মূল থ্রেডে কল করে না যখন। .build() বলা হয়। ( খ/182798948 )

সংস্করণ 3.0.0-BETA02

10 মার্চ, 2021

androidx.paging:paging-*:3.0.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 3.0.0.0-BETA02 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • আরএক্স 3 এক্সটেনশনগুলি এখন সঠিকভাবে @ExperimentalCoroutinesApi অপ্ট-ইন প্রয়োজনীয়তার প্রচার করে। পূর্বে এগুলি @get পদ্ধতিতে চিহ্নিত করা হয়েছিল, যা কোটলিন সংকলক দ্বারা উপেক্ষা করা হয়:

বাগ ফিক্স

  • পরীক্ষামূলক এপিআইগুলির জনসাধারণের ব্যবহারের উপর বিধিনিষেধ প্রয়োগ করুন ( আই 6 এএ 29 , বি/174531520 )
  • রিমোট রিফ্রেশ বলা হয় যখন PagingState সর্বদা null হয়ে যায় এমন একটি বাগ স্থির করে।
  • একটি বাগ স্থির করা হয়েছে যেখানে প্যাগিংসোর্স দ্বারা ফিরে আসা খালি পৃষ্ঠাগুলি পেজিং আবার আনতে বাধা দিতে পারে prefetchDistance পূরণ করতে পারে যার ফলে পেজিং "আটকে" যায়।

সংস্করণ 3.0.0-BETA01

ফেব্রুয়ারী 10, 2021

androidx.paging:paging-*:3.0.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-BETA01 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • আরএক্স 2 এবং আরএক্স 3 মোড়ক এখন পরীক্ষামূলক টীকাগুলির উপর নির্ভর করে এটি নির্ভর করে। আপনি যদি পেজিং-আরএক্সজ্যাভিএ 2 বা পেজিং-আরএক্সজ্যাভি 3-তে আরএক্স কমপ্যাট র‌্যাপারগুলি ব্যবহার করছেন তবে আপনাকে এখন @OptIn(ExperimentalCoroutinesApi::class) ( আইবি 1 এফ 9 ডি ) দিয়ে ব্যবহারগুলি টীকা দিতে হবে (আইবি 1 এফ 9 ডি)

বাগ ফিক্স

  • স্থির IndexOutOfBoundsException: Inconsistency detected সামঞ্জস্যতা পাথের মাধ্যমে ভি 2 DataSource এপিআই ব্যবহার করার সময় কখনও কখনও নিক্ষেপ করা অসঙ্গতি সনাক্ত করা যায়
  • DataSource শুরু করার সময় isInvalid কল ​​যখন সামঞ্জস্যতা পাথের মাধ্যমে ব্যবহৃত হয় তখন এখন মূল থ্রেডের পরিবর্তে ফেচডিস্প্যাচারে সঠিকভাবে চালু করা হয়। ঘরের PagingSource বাস্তবায়ন ব্যবহার করার সময় এটি মূল থ্রেডে ডিবি অ্যাক্সেসের কারণে একটি IllegalStateException ঠিক করে।

সংস্করণ 3.0.0-আলফা 13

জানুয়ারী 27, 2021

androidx.paging:paging-*:3.0.0-alpha13 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-আলফা 13 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • PagingSource.getRefreshKey আর প্রয়োগের জন্য আর al চ্ছিক নয়, এটি এখন ডিফল্ট বাস্তবায়ন ছাড়াই একটি বিমূর্ত ফাংশন। স্থানান্তরকারী ব্যবহারকারীরা হয় ডিফল্ট বাস্তবায়নটি ফিরিয়ে দেওয়া চালিয়ে যেতে পারেন, যা কেবল null ফিরিয়ে দেয়, তবে getRefreshKey() ব্যবহারকারীর বর্তমান স্ক্রোল অবস্থানের উপর ভিত্তি করে একটি কী ফিরিয়ে দেওয়ার একটি বাস্তব বাস্তবায়ন হওয়া উচিত যা PagingState.anchorPosition মাধ্যমে ভিউপোর্টের চারপাশে লোডিংকে কেন্দ্র করে লোডিং চালিয়ে যেতে দেয়। ( I4339a )
  • InvalidatingPagingSourceFactory এখন একটি চূড়ান্ত শ্রেণি ( আইএ 3 বি 0 এ )
  • অতিরিক্ত al চ্ছিক বিচ্ছিন্নতা প্যারামিটারের সাথে টার্মিনাল বিভাজক (শিরোনাম / পাদদেশ) আচরণের কনফিগারেশনের অনুমতি দিন। দুটি বিকল্প হল:
    • FULLY_COMPLETE - বিদ্যমান আচরণ; টার্মিনাল বিভাজক যুক্ত করার আগে এন্ডোফপ্যাগিনেশন রিচকে চিহ্নিত করার জন্য প্যাগিংসোর্স এবং রিমোটেমডিয়েটার উভয়ের জন্য অপেক্ষা করুন। যদি রিমোটেমডিয়েটর ব্যবহার না করা হয় তবে রিমোট লোডস্টেট উপেক্ষা করা হয়। এটি প্রাথমিকভাবে কার্যকর যদি আপনি কেবলমাত্র বিভাগের বিভাজকগুলি দেখাতে চান যখন বিভাগটি সম্পূর্ণরূপে লোড করা হয়, দূরবর্তী উত্স ইজি, নেটওয়ার্ক থেকে আনার সহ।
    • SOURCE_COMPLETE - রিমোটেমডিয়েটর ব্যবহার করা হলেও কেবল এন্ডোফপ্যাগিনেশন রিচ চিহ্নিত করার জন্য প্যাগিংসোর্সটির জন্য অপেক্ষা করুন। এটি শিরোনাম এবং পাদদেশগুলিকে প্রাথমিক লোডের সাথে সিঙ্ক্রোনালি উপস্থাপনের অনুমতি দেয়, যা ব্যবহারকারীদের টার্মিনাল বিভাজকগুলি দেখতে স্ক্রোল করতে প্রয়োজন হতে বাধা দেয়। ( Ibe993 , খ/174700218 )

বাগ ফিক্স

  • একটি বিরল মেমরি ফুটো স্থির করে যা ঘটে যখন প্যাগিংসোর্সটি অবৈধ হয় যখন পেজফেচার এমনকি এটি থেকে লোড করা শুরু করতে শুরু করতে পারে। ( I9606 বি , বি/174625633 )

সংস্করণ 3.0.0-আলফা 12

13 জানুয়ারী, 2021

androidx.paging:paging-*:3.0.0-alpha12 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-আলফা 12 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • অবৈধপ্যাগিংসোর্সফ্যাক্টরি আর কোনও বিমূর্ত শ্রেণি নয় কারণ এর কোনও বিমূর্ত পদ্ধতি কখনও ছিল না। ( I4a8c4 )
  • .Cachedin () এর একটি ওভারলোড যুক্ত করা হয়েছে যা জাভা ব্যবহারকারীদের জন্য লাইফাইসাইকেল বা করটিনেস্কোপের পরিবর্তে ভিউমোডেল গ্রহণ করে। ( I97d81 , বি/175332619 )
  • জাভা কলারদেরকে ট্রান্সফর্ম অপারেটর যুক্তিগুলিতে একজন নির্বাহককে গ্রহণ করে পেজিংডাটা ট্রান্সফর্ম অপারেশনগুলি একটি অ্যাসিঙ্ক উপায়ে ব্যবহার করার অনুমতি দিন। সমস্ত -এসওয়াইএনসি ট্রান্সফর্ম অপারেটরগুলির মধ্যে এখন -এসওয়াইএনসি প্রত্যয়টি সরানো হয়েছে এবং কোটলিন করুটাইন ব্যবহারকারীদের এক্সটেনশন ফাংশনটি কল করে কলঙ্ক করতে হবে যা পরিবর্তে একটি স্থগিতকরণ ব্লক গ্রহণ করে। সমস্ত পেজিংডাটা ট্রান্সফর্মেশন অপারেটরগুলি স্ট্যাটিক পেজিংড্যাটট্রান্সফর্মস ক্লাসের অধীনে এক্সটেনশনে স্থানান্তরিত হয়েছে। জাভা ব্যবহারকারীদের স্ট্যাটিক হেল্পারদের মাধ্যমে তাদের কল করতে হবে যেমন, PagingDataTransforms.map(pagingData, transform) কোটলিন ব্যবহারকারীদের জন্য, সিনট্যাক্সটি একই তবে আপনাকে ফাংশনটি আমদানি করতে হবে। ( If6885 , খ/172895919 )

বাগ ফিক্স

  • একটি বাগ ঠিক করা হয়েছে যেখানে রিমোটেমডিয়েটর.ডাপ্টারের সময় adapter.refresh() RemoteMediator.load() কল করা হবে না

সংস্করণ 3.0.0-আলফা 11

16 ডিসেম্বর, 2020

androidx.paging:paging-*:3.0.0-alpha11 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-আলফা 11 এ এই কমিটস রয়েছে।

নতুন বৈশিষ্ট্য

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

এপিআই পরিবর্তন

  • PagingSource.getRefreshKey() এখন স্থিতিশীল এপিআই ( আই 22 এফ 6 এফ , বি/173530980 )
  • PagingSource.invalidate আর কোনও উন্মুক্ত ফাংশন নয়। অবৈধতা যখন ঘটে তখন আপনার যদি অবহিত করা হয় তবে অবৈধভাবে ওভাররাইডিংয়ের পরিবর্তে রেজিস্টার ইনভ্যালিডেটেডক্যালব্যাক পদ্ধতিটি কল করার বিষয়টি বিবেচনা করুন। ( I628d9 , বি/173029013 , বি/137971356 )
  • অপ্ট-ইন টীকাটির মাধ্যমে পরীক্ষামূলক এপিআইগুলিকে অ-পরীক্ষামূলক পাবলিক এপিআইতে ফাঁস করার পরিবর্তে প্যাগারের এখন নিয়মিত নির্মাণকারীদের পাশাপাশি একটি একক পরীক্ষামূলক কনস্ট্রাক্টর রয়েছে। ( I9dc61 , খ/174531520 )
  • সুবিধামত বৈশিষ্ট্যগুলি, CombinedLoadStates.refresh , CombinedLoadStates.prepend , CombinedLoadStates.append আপডেট করেছেন Ret মধ্যস্থতাকারী এবং উত্স লোড উভয় রাষ্ট্রই রিমোট আপডেট প্রয়োগ করা হয়েছে তা নিশ্চিত করার জন্য NotLoading পরে কেবল Loading থেকে NotLoading রূপান্তরিত করার জন্য প্রস্তুত। ( I65619 )
  • লোডপ্যারামস.পেজসাইজ সরানো হয়েছে (এটি ইতিমধ্যে অবমূল্যায়িত হয়েছিল)। সুপারিশটি হ'ল LoadParams.loadSize ব্যবহার করা আপনার প্যাগিংসোর্সটিতে লোডসাইজ।

    LoadParams.loadSize সর্বদা PagingConfig.pageSize সমান PagingConfig.initialLoadSize

    আপনি যদি কোনও পেজার বা পেজেজলিস্ট ব্যবহার না করে আপনার পেজিং 2 ডেটাসোর্স পরীক্ষা করে দেখছেন তবে pageSize PagingConfig.pageSize সাথে মেলে না। আপনি যদি initialLoadSize সেট করে থাকেন তবে পেজেজাইজ করুন। যদি এটি আপনার পরীক্ষার জন্য গুরুত্বপূর্ণ হয় তবে পরিবর্তে কোনও পেজার/পেজডলিস্ট ব্যবহার করার চেষ্টা করুন যা আপনার ডেটাসোর্স লোড পদ্ধতির জন্য অভ্যন্তরীণভাবে সঠিক পেজাইজ সেট করবে। ( I98ac7 , বি/149157296 )

বাগ ফিক্স

  • PagingConfig.maxsize সেট সহ বিভাজকগুলি ব্যবহার করার সময় অবৈধ স্টেটেক্সেপশন কারণে একটি ক্র্যাশ স্থির করে। ( I0ed33 , বি/174787528 )
  • একটি বাগ স্থির করে যেখানে প্রিপেন্ড / অ্যাপেন্ডের জন্য লোড স্টেটটি NotLoading(endOfPaginationReached = true) অবিলম্বে প্রাথমিক লোডের পরে যদি রিমোটেমডিয়েটর সেট করা থাকে ( i8cf5a )
  • এমন একটি বাগ স্থির করা হয়েছে যেখানে উপস্থাপক-পাশের এপিআই যেমন .snapshot (), .পিক () ইত্যাদি, লিস্টআপডেটক্যালব্যাক আপডেটের মধ্যে পূর্ববর্তী (তারিখের বাইরে) তালিকাটি ফিরিয়ে দেবে।
  • একটি বাগ স্থির করে যেখানে বিভাজক অপারেটরগুলি রিমোটেমডিয়েটারের সাথে ব্যবহার করার সময় শিরোনাম বা পাদদেশগুলি যুক্ত করবে না
  • একটি বাগ ঠিক করা হয়েছে যেখানে রিমোটেমডিয়েটারের জন্য লোড করার জন্য লোডস্টেট আপডেটগুলি লোডিং অবস্থায় আটকে থাকবে
  • একটি বাগ ঠিক করা হয়েছে যেখানে পেজিং 2.0 সামঞ্জস্যতা এপিআই, .asPagingSourceFactory() , ব্যাকিং DataSource ভুল করআউটাইন্ডিস্প্যাচারে আরম্ভ করা যেতে পারে। এটি একটি ক্র্যাশ এবং সম্ভাব্য এএনআর কেসগুলি সমাধান করে, বিশেষত যখন কক্ষের বর্তমান প্যাগিংসোর্স ব্যবহার করে, যা এই সামঞ্জস্যতার পথটি ব্যবহার করে।

সংস্করণ 3.0.0-আলফা 10

2 ডিসেম্বর, 2020

androidx.paging:paging-*:3.0.0-alpha10 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-আলফা 10 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • লোডস্টেটফ্লো / শ্রোতার আপডেটের সাথে অপ্রয়োজনীয় হওয়ায় অবমূল্যায়িত dataRefreshFlow এবং dataRefreshListener এপিআইগুলি সরানো হয়েছে। যারা স্থানান্তরিত করছেন তাদের জন্য, লোডস্টেটফ্লো সমতুল্য:

    loadStateFlow.distinctUntilChangedBy { it.refresh }
        .filter { it.refresh is NotLoading }
    

    ( আইবি 5570 , বি/173530908 )

বাগ ফিক্স

  • রিমোটেমডিয়েটর REFRESH জন্য এন্ডোফপ্যাগিনেশন রিচড এখন সঠিকভাবে লোডস্টেট আপডেটগুলিতে প্রচার করে এবং দূরবর্তী APPEND এবং ট্রিগার থেকে PREPEND প্রতিরোধ করে। ( I94a3f , খ/155290248 )
  • খালি প্রাথমিক পৃষ্ঠার কারণে বা ভারী ফিল্টারিংয়ের কারণে খালি তালিকা উপস্থাপন করা আর পেজিংকে PREPEND বা APPEND লোডগুলিকে লাথি মারতে বাধা দেবে না। ( I3e702 , বি/168169730 )
  • এমন একটি সমস্যা স্থির করে যেখানে অবৈধতা দ্রুত ঘটে গেলে getRefreshKey পরবর্তী প্রজন্মের প্যাগিংসোর্সকে ডাকা হয় না। ( আই 45460 , বি/170027530 )

বাহ্যিক অবদান

  • একটি নতুন বিমূর্ত শ্রেণীর অবৈধ শ্রেণীর একটি .invalidate() এপিআই দিয়ে যুক্ত করা হয়েছে যা এটি নির্গত সমস্ত প্যাগিংসোর্সগুলিতে অকার্যকর ফরোয়ার্ড করে। @ক্লারফ 3 ধন্যবাদ! ( আইই 71 এফসি , বি/160716447 )

পরিচিত সমস্যা

  • রিমোটেমডিয়েটর বি/172254056 ব্যবহার করার সময় .insterseparaters () রূপান্তরটি অবিলম্বে উপস্থিত হতে পারে না।
  • রিমোটেমডিয়েটর ব্যবহার করে রিমোট LoadState অবৈধকরণ এবং প্যাগিংসোর্স.এলড লোড PagingSource.load(LoadParams.Refresh(...)) RemoteMediator.load()

সংস্করণ 3.0.0-Alpha09

11 নভেম্বর, 2020

androidx.paging:paging-*:3.0.0-alpha09 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-ALPHA09 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • একটি প্রতিস্থাপনের ধারা সহ সম্পূর্ণরূপে ডেটারফ্রেসফ্লো / শ্রোতার পদ্ধতিগুলি হ্রাস করুন। ( I6e2dd )

বাগ ফিক্স

  • রিমোটেমডিয়েটর এবং অকার্যকরতার সাথে বিভাজকগুলি ব্যবহার করার সময় IllegalArgumentException নিক্ষেপ করার জন্য ঠিক করুন ট্রিগার করা হয় যখন একটি দূরবর্তী লোড যা এন্ডোফ্যাগিনেশন ফিরে আসবে তা এখনও চলছে ( i3a260 )

সংস্করণ 3.0.0-Alpha08

অক্টোবর 28, 2020

androidx.paging:paging-*:3.0.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-ALPHA08 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • কোটলিন / জাভা ভেরিয়েন্টগুলি DataSource.InvalidatedCallback সাথে কোটলিনে ফাংশনাল ইন্টারফেসের মাধ্যমে (কোটলিন 1.4 এ উপলব্ধ) এসএএম-কনভার্সশনগুলি সক্ষম করে একত্রিত করা হয়েছে। এটি এমন একটি বাগও ঠিক করে যেখানে .map বা .mapByPage দ্বারা রূপান্তরিত হওয়ার পরে অবৈধ কলব্যাকগুলির কোটলিন ভেরিয়েন্টকে কল করা হয়নি। ( আই 1 এফ 244 , বি/165313046 )

বাগ ফিক্স

  • ভিউপেজারের সাথে পেজিংয়ের মিথস্ক্রিয়াটি যথেষ্ট উন্নত হয়েছে। বিশেষত, পেজিং আর কোনও পৃষ্ঠা অবৈধতার কারণে কোনও RemoteMediator#load কল বাতিল করবে না। রিফ্রেশ অনুরোধটি সফলভাবে শেষ না হওয়া পর্যন্ত এটি আর কোনও সংযোজন/প্রিপেন্ড লোড অনুরোধ তৈরি করবে না, যদি রিফ্রেশের প্রয়োজন হয় । ( I6390 বি , বি/162252536 )
  • MissingGetterMatchingBuilder-এর জন্য API lint চেক androidx ( I4bbea , b/138602561 ) এর জন্য সক্ষম করা হয়েছে
  • একটি বাগ ঠিক ConcatAdapter হয়েছে যেখানে .withLoadState*
  • একটি বাগ স্থির করে যেখানে খুব ছোট অ-খালি পৃষ্ঠাটি লোড করা কখনও কখনও প্রিফেচকে সঠিকভাবে ট্রিগার করা থেকে বিরত রাখে। আইএফএফডিএ 3 বি/169259468

সংস্করণ 3.0.0-Alpha07

অক্টোবর 1, 2020

androidx.paging:paging-*:3.0.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-ALPHA07 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • অ্যাসিঙ্ক পেজিংডাটা পেয়ারা-ভিত্তিক অপারেটররা এখন নির্বাহের প্রসঙ্গটি নিয়ন্ত্রণের জন্য একজন নির্বাহককে পরম হিসাবে গ্রহণ করেন। ( আইডি 4372 )

বাগ ফিক্স

  • একটি জাতি শর্তের কারণে রিমোটেমডিয়েটারে নিক্ষিপ্ত ফিক্সড ইনডেক্সআউটফাউন্ডস ব্যতিক্রম। ( I00b7f , খ/165821814 )
  • ডেটাসোর্স -> প্যাগিংসোর্স রূপান্তরটিতে একটি রেসের শর্ত স্থির করে যা ফলস্বরূপ প্যাগিংসোর্সকে ডেটাসোর্স থেকে অবৈধতা সংকেত উপেক্ষা করতে পারে।
  • পৃষ্ঠা ফেচিন লজিকের এমন একটি সমস্যা স্থির করেছে যা কখনও কখনও এটি প্যাগিংডাটাএডাপ্টার.রেফ্রেশ () না হওয়া পর্যন্ত নতুন প্রজন্মকে প্যাগিংসোর্স বাছাই করতে ব্যর্থ হতে পারে
  • রিমোটেমডিয়েটারের সাথে একত্রে কোনও প্যাগিংসোর্স (যেমন রুম দ্বারা উত্পাদিত একটি) রূপান্তরিত কোনও ডেটাসোর্স ব্যবহার করার সময় কখনও কখনও স্ক্রোল-পজিশনটি হারিয়ে যেতে পারে এমন একটি সমস্যা স্থির করে

বাহ্যিক অবদান

  • Rxjava2, rxjava3, এবং গাভা-ভিত্তিক অ্যাসিঙ্ক ট্রান্সফর্মেশন অপারেটরগুলি পেজিংডেটার জন্য যুক্ত করার জন্য @সিমনচিলারকে ধন্যবাদ!

সংস্করণ 3.0.0-Alpha06

2শে সেপ্টেম্বর, 2020

androidx.paging:paging-*:3.0.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-ALPHA06 এর মধ্যে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • স্থিতিশীল আইডিগুলির জন্য সমর্থনের অভাবের চারপাশে পরিষ্কার মেসেজিংয়ের সাথে UnsupportedOperationException এক্সসেপশনটি এখন যখনই PagingDataAdapter.setHasStableIds বলা হয়। ( আইবি 3890 , বি/158801427 )

বাগ ফিক্স

  • সন্নিবেশকারীকারীরা আর খালি পৃষ্ঠাগুলি ফিল্টার করে না যা উপস্থাপকের দ্বারা প্রিফেচ দূরত্বকে সম্মান করার অনুমতি দেয় এমনকি অনেকগুলি খালি পৃষ্ঠাগুলি serted োকানো হয়। ( আই 9 সিএফএফ 6 , বি/162538908 )

সংস্করণ 3.0.0-Alpha05

আগস্ট 19, 2020

androidx.paging:paging-*:3.0.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-Alpha05 এ এই কমিটগুলি রয়েছে।

বাগ ফিক্স

  • উপস্থাপিত ডেটা ভারীভাবে ফিল্টার করা হলেও পেজিং এখন সঠিকভাবে পৃষ্ঠাগুলি প্রিফেচ করে
  • রিটার্নিং LoadResult.Error রিট্রিড লোডে আর ভুলভাবে পুনরায় ট্রিগার পুনরায় ট্রাই করার জন্য আইটেমের অ্যাক্সেসের কারণ হয় না

বাহ্যিক অবদান

  • কিছু পরীক্ষা পরিষ্কার করতে সহায়তা করার জন্য ক্লারা এফকে ধন্যবাদ! ( 549612 )

সংস্করণ 3.0.0-Alpha04

আগস্ট 5, 2020

androidx.paging:paging-*:3.0.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-Alpha04 এ এই কমিটস রয়েছে।

এপিআই পরিবর্তন

  • ট্রিগার পৃষ্ঠা লোড ছাড়াই উপস্থাপিত ডেটা অ্যাক্সেসের অনুমতি দেওয়ার জন্য AsyncPagingDataDiffer এবং PagingDataAdapter peek() এপিআই যুক্ত করা হয়েছে। ( I38898 , বি/159104197 )
  • PagingDataAdapter এবং AsyncPagingDataDiffer একটি snapshot() এপিআই যুক্ত করেছেন যাতে পৃষ্ঠা আনতে ট্রিগার না করে উপস্থাপিত আইটেমগুলি পুনরুদ্ধার করার অনুমতি দেয়। ( I566b6 , বি/159104197 )
  • স্ট্যাটিক তালিকা উপস্থাপনের অনুমতি দেওয়ার জন্য একটি PagingData.from(List<T>) কনস্ট্রাক্টর যুক্ত করা হয়েছে, যা নির্দিষ্ট রাজ্যে স্থির তালিকাগুলি দেখানোর জন্য সামগ্রিক পেজিংডাটা প্রবাহের সাথে একত্রিত হতে পারে, যেমন প্রাথমিক রিফ্রেশ সমাপ্তির আগে বা কেবল পরীক্ষার রূপান্তরগুলির জন্য। ( আইডি 134 ডি )
  • ডেটারফ্রেশ ফ্লো / শ্রোতার এপিআইগুলি হ্রাস করুন কারণ তারা উপস্থাপিত আইটেমগুলি রিফ্রেশে প্রকাশ করার উদ্দেশ্যে করা হয়েছিল, তবে লোডস্টেট প্রবাহ / শ্রোতার কলব্যাক টাইমিং এবং আইটেমকাউন্ট সম্পত্তির উন্নতির সাথে এটি অপ্রয়োজনীয় ( আইএ 19 এফ 3 )
  • PagingSource এবং RemoteMediator জন্য আরএক্সজ্যাভি 3 সামঞ্জস্যতা মোড়ক যুক্ত করা হয়েছে ( আই 49 এফ 3 , বি/161480176 )

বাগ ফিক্স

  • PositionalDataSource toPagingSourceFactory হেল্পারের মাধ্যমে PagingSource রূপান্তরিত হয়েছে, কক্ষ দ্বারা উত্পাদিত PagingSource সহ এখন সঠিকভাবে জাম্পিংকে সমর্থন করার জন্য নিজেকে চিহ্নিত করুন। ( I3e84c , খ/162161201 )
  • একটি বাগ ঠিক করা হয়েছে যেখানে সাবমিটডেটার সিঙ্ক্রোনাস বৈকল্পিক ব্যবহার করে কখনও কখনও একটি দৌড়ের দিকে পরিচালিত করে যা একটি ClosedSendChannelException ( আই 4 ডি 702 , বি/160192222 ) তৈরি করে

বাহ্যিক অবদান

  • স্ল্যাকের পক্ষে RXJAVA3 সামঞ্জস্যতা মোড়ক যুক্ত করার জন্য জ্যাক সুইয়ার্সকে ধন্যবাদ! ( I49ef3 , খ/161480176 )

সংস্করণ 3.0.0-Alpha03

22 জুলাই, 2020

androidx.paging:paging-*:3.0.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-Alpha03 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • পেজিংস্টেটের কনস্ট্রাক্টর এখন সর্বজনীন, যা গেটরেফ্রেশকি () এর পরীক্ষার বাস্তবায়নগুলি সহজ করে তোলে ( আই 8 বিএফ 15 )
  • মূল এবং কোটলিন ভেরিয়েন্টগুলির মধ্যে অস্পষ্টতা সমাধানের জন্য জাভা থেকে ডাটাসোর্স কোটলিন মানচিত্রের ফাংশন ভেরিয়েন্টগুলি এইচআইডি করুন। ( If7b23 , খ/161150011 )
  • কোটলিন ব্যবহারকারীদের সুবিধার্থে রিডানড্যান্ট এপিআইগুলি @জেভিএমসিন্থেটিক ( i56ae5 ) চিহ্নিত করা হয়েছে
  • লোডরেসাল্ট.পেজের কনস্ট্রাক্টর এর জন্য ওভারলোডগুলি যুক্ত করা হয়েছে যা আইটেমগুলি ডিফল্ট করে এবং আইটেমগুলি কাউন্ট_অ্যান্ডফাইন্ডে ( আই 47849 ) এ ডিফল্ট করে
  • বিদ্যমান পেজিংডাটা অপারেটররা সাসপেন্ডিং পদ্ধতিগুলি গ্রহণ করে এবং জাভা ব্যবহারকারীদের জন্য নতুন ম্যাপসিনসি, ফ্ল্যাটম্যাপসিঙ্ক এবং ফিল্টারসনে অ-সাসপেন্ডিং অপারেটর প্রবর্তন করে। বিদ্যমান রূপান্তর পদ্ধতিগুলি এক্সটেনশন ফাংশনে স্থানান্তরিত করা হয়েছে তাই কোটলিন ব্যবহারকারীদের এখন সেগুলি আমদানি করতে হবে। ( I34239 , বি/159983232 )

বাগ ফিক্স

  • রুম (এবং পজিশনালড্যাটাসোর্স) প্যাগিংসোর্সগুলি এখন প্রথম পৃষ্ঠার অংশ হিসাবে একটি শীর্ষস্থানীয় বিভাজক প্রদর্শন করবে, সুতরাং এটি প্রকাশ করার জন্য ব্যবহারকারীকে স্ক্রোল করার দরকার নেই। ( I6f747 , বি/160257628 )
  • স্থানধারীদের মধ্যে আইটেম অ্যাক্সেস করে এখন কোনও পৃষ্ঠা ফিরে না আসা পর্যন্ত প্যাগিংসোর্স লোডগুলি সঠিকভাবে ট্রিগার করে যা পেজিংডাটা.ফিল্টার () ( আই 95625 , বি/158763195 ) দ্বারা রূপান্তরিত হওয়ার পরে অনুরোধ করা সূচকটি পূরণ করে
  • এমন একটি বাগের জন্য ঠিক করুন যেখানে কখনও কখনও প্যাগিংসোর্স ফেরত দেওয়ার পরে স্ক্রোলিং একটি ত্রুটি পেজিংডাটাএডাপ্টার.রেট্রি () পুনরায় চেষ্টা করা থেকে বিরত রাখতে পারে। ( আই 1084 এফ , বি/160194384 )
  • কোনও পৃষ্ঠা বাদ দেওয়ার পরে আইটেম অ্যাক্সেস করে এমন একটি সমস্যা সমাধান করে যেখানে আইটেম অ্যাক্সেস প্রিফেচডিস্ট্যান্সের মধ্যে ছিল ( আইই 95 এ , বি/160038730 )
  • Pagingconfig.maxsize সেট করা একটি ড্রপ ইভেন্টের পরে স্থানধারীদের আর সক্ষম করে না ( i2be29 , বি/1596677766 )

সংস্করণ 3.0.0-Alpha02

জুন 24, 2020

androidx.paging:paging-*:3.0.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-ALPHA02 এ এই কমিটগুলি রয়েছে।

এপিআই পরিবর্তন

  • সাধারণ ডিফল্ট মানগুলির সাথে PagingConfig কনস্ট্রাক্টর ( আই 39 সি 50 , বি/158576040 ) এর জন্য ওভারলোডগুলি যুক্ত করা হয়েছে
  • সাধারণ ডিফল্ট মানগুলির সাথে PagingDataAdapter এবং AsyncPagingDataDiffer কনস্ট্রাক্টরদের জন্য ওভারলোড যুক্ত করা হয়েছে ( ie91f5 )
  • অ্যাডাপ্টার এপিআই, dataRefreshFlow এবং dataRefreshListener এখন একটি PagingData খালি আছে কিনা তা সংকেত দেওয়ার জন্য একটি বুলিয়ান পাস করে ( i6e37e , বি/159054196 )
  • রিমোটেমডিয়েটারের জন্য আরএক্সজাভা এবং পেয়ারা এপিআই যুক্ত করেছেন - আরএক্সআরমোটেমিডিয়েটর এবং শ্রবণযোগ্য ফিউটারমোটেমিডিয়েটর
  • সাধারণ আইটেম অ্যাক্সেসের জন্য পেজিংস্টেটে সহায়ক যুক্ত করেছেন যেমন isEmpty() এবং firstItemOrNull() ( আই 3 বি 5 বি 6 , বি/158892717 )

বাগ ফিক্স

  • পেজার এখন অবৈধ প্যাগিংসোর্সেসের দুর্ঘটনাজনিত পুনরায় ব্যবহার রোধ করতে কারখানায় প্যাগিংসোর্স পুনরায় ব্যবহারের জন্য পরীক্ষা করে, যা একটি অস্পষ্ট ত্রুটি দিয়েছে ( আই 99809 , বি/158486430 )
  • রিমোটেমডিয়েটর রিফ্রেশ থেকে ব্যর্থতা আর প্যাগিংসোর্স লোডিং থেকে রোধ করে না ( i38b1b , বি/158892717 )
  • submitData অ-সাসপেন্ডিং সংস্করণটি যখন submitData স্থগিতাদেশের সংস্করণটির পরে ডাকা হয় তখন একাধিক PagingData একযোগে সংগ্রহের কারণে আর ক্র্যাশ ঘটায় না। ( আই 26358 , বি/158048877 )
  • কনফিগার পরিবর্তনের পরে ঘটতে পারে এমন ব্যতিক্রম স্থির " পেজার থেকে দু'বার সংগ্রহ করতে পারে না"

সংস্করণ 3.0.0-Alpha01

জুন 10, 2020

androidx.paging:paging-*:3.0.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 3.0.0-ALPHA01 এর মধ্যে এই কমিটগুলি রয়েছে।

বেশ কয়েকটি বড় নতুন বৈশিষ্ট্য সক্ষম করতে পেজিং লাইব্রেরিটি 3.0 এ আপডেট হয়েছে।

3.0 এর নতুন বৈশিষ্ট্য

পরিচিত সমস্যা

  • পেজিং 3 জাভাডোকগুলি এখনও উপলভ্য নয়। অন্তর্বর্তী সময়ে, দয়া করে উপরের লিঙ্কযুক্ত গাইডগুলি বা কোটলিন ডক্স ব্যবহার করুন। ( খ/158614050 )

সংস্করণ 2.1.2

সংস্করণ 2.1.2

18 মার্চ, 2020

androidx.paging:paging:2.1.2 প্রকাশিত হয়েছে। সংস্করণ ২.১.২ এর মধ্যে ২.১.০ এর বিপরীতে এই প্রতিশ্রুতি রয়েছে

বাগ ফিক্স

  • অবৈধতার সময় কোনও অবস্থানকে রূপান্তর করার সময় বিরল ক্ষেত্রে IndexOutOfBoundsException জন্য ঠিক করুন।

প্রকাশের বিষয়টি

  • পেজিং সংস্করণ 2.1.1 একটি ভুল কনফিগার করা শাখা থেকে ভুলভাবে প্রকাশিত হয়েছিল, ভবিষ্যতে প্রকাশে আসন্ন আংশিক-বাস্তবায়িত এপিআই এবং কার্যকারিতা প্রকাশ করে।

  • পেজিং 2.1.2 এ লোড-সেন্টারিং ফিক্সটি মূলত ২.১.১ এ প্রকাশিত হয়েছে, তবে এবার ২.১.০ রিলিজের উপরে সঠিকভাবে চেরি-বাছাই করা হয়েছে। আপনি যদি বর্তমানে ২.১.১ এ থাকেন তবে এই প্রকাশে আপগ্রেড করার জন্য দৃ strongly ়ভাবে সুপারিশ করা হয়।

সংস্করণ 2.1.1

সংস্করণ 2.1.1

18 ডিসেম্বর, 2019

androidx.paging:paging-*:2.1.1 প্রকাশিত হয়েছে। সংস্করণ 2.1.1 এ এই কমিটস রয়েছে

বাগ ফিক্স

  • প্লেসহোল্ডাররা অক্ষম হয়ে গেলে এখন পজিশনালড্যাটাসোর্সগুলি থেকে সুস্পষ্ট প্রাথমিক লোডগুলি এখন শেষ অ্যাক্সেসকে কেন্দ্র করে থাকে

সংস্করণ 2.1.0

সংস্করণ 2.1.0

25 জানুয়ারী, 2019

পেজিং 2.1.0 2.1.0-rc01 থেকে কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়।

সংস্করণ 2.1.0-আরসি 01

ডিসেম্বর 6, 2018

পেজিং 2.1.0-rc01 2.1.0-beta01 থেকে কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়।

সংস্করণ 2.1.0-BETA01

নভেম্বর 1, 2018

পেজিং 2.1.0-beta01 2.1.0-alpha01 থেকে কোনও পরিবর্তন ছাড়াই প্রকাশিত হয়।

সংস্করণ 2.1.0-Alpha01

অক্টোবর 12, 2018

পেজিং 2.1.0-alpha01 দুটি প্রধান সংযোজন রয়েছে - পৃষ্ঠা ড্রপিং, এবং প্রতিটি শিল্পকর্মের জন্য কেটিএক্স এক্সটেনশন লাইব্রেরি - পাশাপাশি বেশ কয়েকটি অন্যান্য এপিআই পরিবর্তন এবং বাগফিক্স।

এপিআই পরিবর্তন

  • মেমরিতে লোড হওয়া আইটেমের সংখ্যা সীমাবদ্ধ করার জন্য PagedList.Config.Builder.setMaxSize() যুক্ত করা হয়েছে।
  • androidx.paging.Config() যোগ করা হয়েছে PagedList.Config.Builder জন্য কোটলিন বিকল্প হিসাবে
  • androidx.paging.PagedList() যোগ করা হয়েছে PagedList.Builder জন্য কোটলিন বিকল্প হিসাবে
  • LivePagedListBuilder জন্য কোটলিন বিকল্প হিসাবে DataSourceFactory.toLiveData() যুক্ত করা হয়েছে
  • RxPagedListBuilder এর জন্য কোটলিন বিকল্প হিসাবে DataSourceFactory.toObservable() এবং toFlowable() যুক্ত করা হয়েছে
  • পেজডলিস্টটি অদলবদল করার সময় শোনার জন্য AsyncPagedListDiffer.addPagedListListener() যুক্ত করা হয়েছে। বি/111698609
  • PagedListAdapter.onCurrentListChanged()
  • PagedListAdapter/AsyncPagedListDiffer.submitList() বৈকল্পিকগুলি যুক্ত করা হয়েছে যা একটি অতিরিক্ত কলব্যাক নেয় যা/যখন পেজডলিস্টটি প্রদর্শিত হয়, তখন পৃথক হওয়ার পরে ট্রিগার করে। এটি আপনাকে অন্যান্য ইউআই আপডেটের সাথে একটি পেজডলিস্ট অদলবদল সিঙ্ক্রোনাইজ করতে দেয়। বি/73781068
  • PagedList.getLoadedCount() আপনাকে কতগুলি আইটেম স্মৃতিতে রয়েছে তা জানাতে যুক্ত হয়েছে। নোট করুন যে স্থানধারীরা অক্ষম থাকলে রিটার্ন মান সর্বদা .size() এর সমান।

বাগ ফিক্স

  • তালিকাগুলি পুনরায় ব্যবহার করা হলে বি/111591017 পুনরায় ব্যবহার করা হলে একটি জাতি শর্ত স্থির করে
  • PagedList.loadAround() এখন সূচকটি অবৈধ হলে IndexOutOfBoundsException নিক্ষেপ করে। পূর্বে এটি একটি অস্পষ্ট অন্যান্য ব্যতিক্রমের সাথে ক্র্যাশ করতে পারে।
  • এমন একটি কেস স্থির করা হয়েছে যেখানে অপরিবর্তিত ডেটার সাথে একত্রে অত্যন্ত ছোট প্রাথমিক লোডের আকারটি বি/113122599 এর আর কোনও লোডিং হবে না

সংস্করণ 2.0.0

সংস্করণ 2.0.0

অক্টোবর 1, 2018

পেজিং 2.0.0 একটি একক বাগফিক্স দিয়ে প্রকাশিত হয়।

বাগ ফিক্স

  • PositionalDataSource এবং স্থানধারক বি/114635383 ব্যবহার করে খুব দ্রুত স্ক্রোলিংয়ের সাথে ঘটতে পারে এমন একটি ক্র্যাশ স্থির করে।

সংস্করণ 2.0.0-BETA01

জুলাই 2, 2018

বাগ ফিক্স

  • কিছু প্রিপেন্ড কেস (স্থানধারক অক্ষম, পজিশনালড্যাটাসোর্স) বি/80149146 এ স্থির সামগ্রী অদৃশ্য
  • (ইতিমধ্যে 1.0.1 এ প্রকাশিত হয়েছে) স্থির ক্র্যাশগুলি যেখানে PagedListAdapter এবং AsyncPagedListDiffer সরানোর ইভেন্টগুলিকে সংকেত দিতে ব্যর্থ হবে। বি/110711937

প্রাক-অ্যান্ড্রয়েডএক্স নির্ভরতা

পেজিংয়ের প্রাক-অ্যান্ড্রয়েডএক্স সংস্করণগুলির জন্য, এই নির্ভরতাগুলি অন্তর্ভুক্ত করুন:

dependencies {
    def paging_version = "1.0.0"

    implementation "android.arch.paging:runtime:$paging_version"

    // alternatively - without Android dependencies for testing
    testImplementation "android.arch.paging:common:$paging_version"

    // optional - RxJava support
    implementation "android.arch.paging:rxjava2:$paging_version"
}

সংস্করণ 1.0.1

সংস্করণ 1.0.1

জুন 26, 2018

পেজিং 1.0.1 runtime একটি একক বাগফিক্স দিয়ে প্রকাশিত হয়। স্থিতিশীলতার জন্য আমরা 1.0.1 ব্যবহার করার পরামর্শ দিই। পেজিং আরএক্সজাভা 2 1.0.1 এছাড়াও প্রকাশিত হয় এবং এটি 1.0.0-rc1 এর সমান।

বাগ ফিক্স

  • ফিক্সড ক্র্যাশগুলি যেখানে PagedListAdapter এবং AsyncPagedListDiffer সরানো ইভেন্টগুলি সংকেত দিতে ব্যর্থ হবে। বি/110711937

Rxjava2 সংস্করণ 1.0.0

Rxjava2 সংস্করণ 1.0.0-আরসি 1

16 মে, 2018

পেজিং আরএক্সজাভা 2 1.0.0-rc1 প্রাথমিক আলফা থেকে কোনও পরিবর্তন ছাড়াই প্রার্থীকে মুক্তি দিতে চলেছে।

সংস্করণ 1.0.0

সংস্করণ 1.0.0-আরসি 1

এপ্রিল 19, 2018 পেজিং রিলিজ প্রার্থী

পেজিং 1.0.0 রিলিজের জন্য আমাদের আর কোনও পরিচিত সমস্যা বা নতুন বৈশিষ্ট্য নির্ধারিত নেই । দয়া করে আপনার প্রকল্পগুলি 1.0.0-rc1 ব্যবহার করতে আপগ্রেড করুন এবং এটি পরীক্ষা করতে আমাদের সহায়তা করতে সহায়তা করুন যাতে আমরা একটি রক সলিড 1.0.0 প্রেরণ করতে পারি।

এই প্রকাশে কোনও পরিবর্তন নেই, এটি 1.0.0-beta1 এর সমান।

সংস্করণ 1.0.0-BETA1

5 এপ্রিল, 2018

প্রার্থীকে মুক্তি দেওয়ার অগ্রগতির আগে পেজিং অল্প সময়ের জন্য বিটাতে থাকবে। আমরা Paging 1.0 জন্য আরও এপিআই পরিবর্তনের পরিকল্পনা করছি না এবং যে কোনও এপিআই পরিবর্তনের জন্য বারটি খুব বেশি।

পেজিং এর জন্য আলফা আরএক্সজাভা 2 সমর্থন একটি পৃথক al চ্ছিক মডিউল ( android.arch.paging:rxjava2:1.0.0-alpha1 ) হিসাবে প্রকাশিত হয় এবং এটি স্থিতিশীল না হওয়া পর্যন্ত অস্থায়ীভাবে সংস্করণ করা হবে।

এই নতুন লাইব্রেরিটি LivePagedListBuilder জন্য একটি আরএক্সজেভিএ 2 বিকল্প সরবরাহ করে, যা Executor পরিবর্তে Scheduler এস গ্রহণ করে Observable এস এবং Flowable এস তৈরি করতে সক্ষম:

কোটলিন

val pagedItems = RxPagedListBuilder(myDataSource, /* page size */ 50)
        .setFetchScheduler(myNetworkScheduler)
        .buildObservable()

জাভা

Observable<PagedList<Item>> pagedItems =
        RxPagedListBuilder(myDataSource, /* page size */ 50)
                .setFetchScheduler(myNetworkScheduler)
                .buildObservable();

নতুন বৈশিষ্ট্য

  • RxPagedListBuilder নতুন android.arch.paging:rxjava2 আর্টিফ্যাক্ট।

এপিআই পরিবর্তন

  • বিল্ডারদের মধ্যে নির্বাহকদের ভূমিকা স্পষ্ট করতে এপিআই পরিবর্তন করে:

    • setBackgroundThreadExecutor() setFetchExecutor() এর নামকরণ করা হয়েছে ( PagedList.Builder এবং LivePagedListBuilder )

    • setMainThreadExecutor() নামকরণ করে setNotifyExecutor() ( PagedList.Builder ) এ নামকরণ করুন।

  • ফিক্সড PagedList.mCallbacks সদস্য ব্যক্তিগত হতে।

বাগ ফিক্স

  • LivePagedListBuilder আর্চ উপাদানগুলি আইও থ্রেড পুলের পরিবর্তে নির্দিষ্ট এক্সিকিউটারের উপর প্রাথমিক PagedList লোড ট্রিগার করে।

  • অভ্যন্তরীণ DataSource র‌্যাপারগুলিতে স্থির অকার্যকর আচরণ ( DataSource.map প্রয়োগ করতে ব্যবহৃত হয়, পাশাপাশি স্থানধারক-অক্ষম PositionalDataSource লোডিং) বি/77237534

সংস্করণ 1.0.0-আলফা 7

21 মার্চ, 2018

পেজিং 1.0.0-alpha7 লাইফসাইকেলগুলির পাশাপাশি প্রকাশিত হয়েছে 1.1.1 । যেমন পেজিং আলফা 7 উপরে উল্লিখিত Function শ্রেণীর সরানোর উপর নির্ভর করে, আপনাকে আপনার lifecycle:runtime নির্ভরতা android.arch.lifecycle:runtime:1.1.1

পেজিং alpha7 পেজিং হিট বিটা হিট করার আগে চূড়ান্ত প্রকাশের পরিকল্পনা করা হয়েছে।

এপিআই পরিবর্তন

  • DataSource.LoadParams অবজেক্টগুলিতে এখন একটি পাবলিক কনস্ট্রাক্টর এবং DataSource.LoadCallback রয়েছে Load লোডক্যালব্যাক অবজেক্টগুলি এখন বিমূর্ত। এটি একটি DataSource মোড়ানো বা সরাসরি একটি মক কলব্যাক সহ একটি DataSource পরীক্ষা করতে সক্ষম করে। বি/72600421
  • ডেটাসোর্স এবং ডেটাসোর্স.ফ্যাক্টরির জন্য ম্যাপার্স
    • map(Function<IN,OUT>) আপনাকে কোনও DataSource দ্বারা লোড হওয়া ফলাফলগুলি রূপান্তর, মোড়ানো বা সাজানোর অনুমতি দেয়।
    • mapByPage(<List<IN>,List<OUT>>) ব্যাচ প্রসেসিংয়ের জন্য একই সক্ষম করে (যেমন এসকিউএল থেকে লোড হওয়া আইটেমগুলি অতিরিক্তভাবে একটি পৃথক ডাটাবেস জিজ্ঞাসা করা প্রয়োজন, যা ব্যাচ হিসাবে করা যেতে পারে))
  • PagedList#getDataSource() একটি সুবিধার্থে পদ্ধতি হিসাবে যুক্ত করা হয়েছে B/72611341
  • সমস্ত অবমূল্যায়িত ক্লাসগুলি এপিআই থেকে অপসারণ করা হয়েছে, recyclerview.extensions LivePagedListProvider
  • DataSource.Factory মানচিত্রের কার্যকারিতা সক্ষম করতে একটি ইন্টারফেস থেকে একটি বিমূর্ত শ্রেণিতে পরিবর্তন করা হয়।

বাগ ফিক্স

  • চূড়ান্ত হতে নির্মাতাদের পরিবর্তন করেছে। বি/70848565
  • রুম DataSource বাস্তবায়ন এখন মাল্টি-টেবিল কোয়েরিগুলি পরিচালনা করার জন্য স্থির করা হয়েছে-এই ফিক্সটি কক্ষ 1.1.0-বিটা 1 এর মধ্যে রয়েছে, উপরে দেখুন।
  • এমন একটি বাগ স্থির করা হয়েছে যেখানে BoundaryCallback.onItemAtEndLoaded প্লেসহোল্ডারদের সক্ষম করা থাকলে এবং মোট আকার পৃষ্ঠার আকারের সঠিক একাধিক হয় তবে PositionalDataSource জন্য আহ্বান করা হবে না।

সংস্করণ 1.0.0-আলফা 5

জানুয়ারী 22, 2018

বাগ ফিক্স

  • স্থানধারীরা বি/70573345 অক্ষম থাকলে পৃষ্ঠা লোডিং ঠিক করুন
  • অবৈধরগমেন্ট এক্সসেপশন বাগ বি/70360195 (এবং অনুমানমূলক রুম-সাইড ফিক্স) ট্র্যাক করার জন্য অতিরিক্ত লগিং
  • জাভাদোক নমুনা কোড ফিক্স বি/70411933 , বি/71467637