-
Notifications
You must be signed in to change notification settings - Fork 144
Open
Labels
type:enhancementEnhancement request targeting an existing experienceEnhancement request targeting an existing experience
Description
Describe the bug
On Android with a minified build, an exception occurs with PageIterator over DriveItems. The PageIterator class calls getDeclaredMethod("getValue") on the response class. The response getValue method appears to be removed by the minified build.
Exception:
java.lang.IllegalAccessException: NO_COLLECTION_PROPERTY_ERROR
at com.microsoft.graph.core.tasks.PageIterator.extractEntityListFromParsable(PageIterator.java:300)
at com.microsoft.graph.core.tasks.PageIterator$Builder.build(PageIterator.java:203)
at com.microsoft.graph.core.tasks.PageIterator$Builder.build(PageIterator.java:210)
Expected behavior
Proguard rules provided by the library would include the needed classes/methods for PageIterator to work.
How to reproduce
Code:
var resp =
client.drives().byDriveId(driveId).items().byDriveItemId("root").children().get();
var pageIter =
new PageIterator.Builder<DriveItem, DriveItemCollectionResponse>()
.client(client)
.collectionPage(resp)
.collectionPageFactory(DriveItemCollectionResponse::createFromDiscriminatorValue)
.processPageItemCallback(item -> {
// use DriveItem item...
return true;
})
.build();
pageIter.iterate();
SDK Version
6.24.0
Latest version known to work for scenario above?
No response
Known Workarounds
Add Proguard rule: -keep class com.microsoft.graph.models.DriveItemCollectionResponse { *; }
Debug output
No response
Configuration
No response
Other information
No response
Metadata
Metadata
Assignees
Labels
type:enhancementEnhancement request targeting an existing experienceEnhancement request targeting an existing experience