Part of my application involves searching a portal for a list of portals items. I would like to list only the webmaps that include a Geodatabase that isSyncEnabled(). The most direct way to do this would be with the PortalQueryParameters. Limiting the query to just webmaps is straight forward using the constructor that takes a vector of PortalItem.Type as the first parameter. Is there a way to use the searchQuerry string to limit it to just webmaps that include a sync enabled geodatabase? Or just to those that support offline use?
If PortalQueryParamters doesn't work, is there a way to check the PortalItems? I know that I can find out if they support offline use: OfflineMapTask(PortalItem).getOfflineMapCapabilitiesAsync() ---> getLayerCapabilities() --> isSupportsOffline(). That helps, but offline use doesn't necessarily mean they support sync.
The isSyncEnabled() method appears in two places in the documentation: Geodatabase::isSyncEnabled(), and ArcGISFeatureServiceInfo::isSyncEnabled(). It appears (from the single documented constructor) that a geodatabse can only be constructed from a local file after downloading the geodatabase (impractical). And ArcGISFeatureServiceInfo has no documented constructors, appears nowhere in the documentation except its own page, and is a final class that extends Object. So, from what I can tell, developers have no access to it. Am I missing something here?