Skip to content

Data already set. Call only one of setPagingData() or setQuery(). How to handle creen rotation? #1998

@Monabr

Description

@Monabr
  • Android device: _____
  • Android OS version: _____
  • Google Play Services version: _____
  • Firebase/Play Services SDK version: _____
  • FirebaseUI version: 8.0.0

Step 3: Describe the problem:

So if i rotate the screen how i should handle it? I need to set paging data to not load it again but i also need query to continue loading more documents.

Steps to reproduce:

Call both of setPagingData() or setQuery()

Observed Results:

   java.lang.RuntimeException: Data already set. Call only one of setPagingData() or setQuery()
        at com.firebase.ui.common.Preconditions.assertNull(Preconditions.java:21)
        at com.firebase.ui.firestore.paging.FirestorePagingOptions$Builder.setQuery(FirestorePagingOptions.java:160)
        at com.firebase.ui.firestore.paging.FirestorePagingOptions$Builder.setQuery(FirestorePagingOptions.java:141)
        at com.example.app.MainFragment.setQueryForData(MainFragment.kt:781)
        at com.example.app.MainFragment.createAdapter(MainFragment.kt:459)
        at com.example.app.MainFragment.onViewCreated(MainFragment.kt:183)
        at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2987)
        at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:546)
        at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
        at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
        at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
        at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:3065)
        at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2988)
        at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:546)
        at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
        at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
        at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
        at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
        at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
        at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:502)
        at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:246)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
        at android.app.Activity.performStart(Activity.java:8157)
        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3588)
        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2173)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:236)
        at android.app.ActivityThread.main(ActivityThread.java:8043)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011)

Expected Results:

I expect to set both or have query inside paging data

Relevant Code:

FirestorePagingOptions.Builder<Document>()
             .setLifecycleOwner(viewLifecycleOwner)
             .setPagingData(liveDataDocs, Document::class.java)
             .setQuery(query, Source.SERVER, config, Document::class.java)
             .build()

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions