Skip to content

Extract core encoders api into a separate library. #1930

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Sep 2, 2020

Conversation

vkryachko
Copy link
Member

This decouples the api from the json implementation, enabling creation
of other formats in the future.

This is modeled as a breaking change even though it won't have any
developer impact.

This decouples the api from the json implementation, enabling creation
of other formats in the future.

This is modeled as a breaking change even though it won't have any
developer impact.
@googlebot googlebot added the cla: yes Override cla label Sep 1, 2020
@google-oss-bot
Copy link
Contributor

google-oss-bot commented Sep 1, 2020

Binary Size Report

Affected SDKs

  • firebase-encoders

    Type Base (2056bfc) Head (8836428d) Diff
    apk (aggressive) ? 8.68 kB ? (?)
    apk (release) ? 15.1 kB ? (?)
  • firebase-encoders-json

    Type Base (2056bfc) Head (8836428d) Diff
    aar 18.2 kB 11.5 kB -6.66 kB (-36.7%)
    apk (release) 19.6 kB 19.6 kB -4 B (-0.0%)
  • firebase-inappmessaging-display

    Type Base (2056bfc) Head (8836428d) Diff
    apk (release) 4.52 MB 4.52 MB +4 B (+0.0%)
  • firebase-installations

    Type Base (2056bfc) Head (8836428d) Diff
    aar 59.4 kB 59.4 kB -2 B (-0.0%)
  • firebase-messaging

    Type Base (2056bfc) Head (8836428d) Diff
    apk (release) 2.43 MB 2.43 MB +4 B (+0.0%)
  • firebase-messaging-directboot

    Type Base (2056bfc) Head (8836428d) Diff
    apk (release) 2.31 MB 2.31 MB +8 B (+0.0%)

Test Logs

Notes

Head commit (8836428d) is created by Prow via merging commits: 2056bfc 927c60a.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Sep 1, 2020

Coverage Report

Affected SDKs

  • firebase-database

    SDK overall coverage changed from 51.09% (2056bfc) to 51.07% (8836428d) by -0.02%.

    Filename Base (2056bfc) Head (8836428d) Diff
    DoubleNode.java 100.00% 88.24% -11.76%
    ViewProcessor.java 91.79% 92.10% +0.30%
    WriteTree.java 77.22% 76.67% -0.56%
  • firebase-encoders

    SDK overall coverage changed from ? (2056bfc) to 0.00% (8836428d) by ?.

    Filename Base (2056bfc) Head (8836428d) Diff
  • firebase-encoders-json

    SDK overall coverage changed from 84.96% (2056bfc) to 97.41% (8836428d) by +12.45%.

    Filename Base (2056bfc) Head (8836428d) Diff
  • firebase-inappmessaging

    SDK overall coverage changed from ? (2056bfc) to 39.56% (8836428d) by ?.

    Click to show coverage changes in 142 files.
    Filename Base (2056bfc) Head (8836428d) Diff
    AbtIntegrationHelper.java ? 60.87% ?
    AbtIntegrationHelper_Factory.java ? 0.00% ?
    Action.java ? 76.47% ?
    Analytics.java ? 0.00% ?
    AnalyticsConstants.java ? 0.00% ?
    AnalyticsEventsManager.java ? 85.19% ?
    AnalyticsEventsModule.java ? 0.00% ?
    AnalyticsEventsModule_ProvidesAnalyticsConnectorEventsFactory.java ? 0.00% ?
    AnalyticsEventsModule_ProvidesAnalyticsEventsManagerFactory.java ? 0.00% ?
    AnalyticsListener.java ? 0.00% ?
    ApiClient.java ? 100.00% ?
    ApiClientModule.java ? 0.00% ?
    ApiClientModule_ProvidesApiClientFactory.java ? 0.00% ?
    ApiClientModule_ProvidesDataCollectionHelperFactory.java ? 0.00% ?
    ApiClientModule_ProvidesFirebaseAppFactory.java ? 0.00% ?
    ApiClientModule_ProvidesFirebaseInstallationsFactory.java ? 0.00% ?
    ApiClientModule_ProvidesSharedPreferencesUtilsFactory.java ? 0.00% ?
    ApiClientModule_ProvidesTestDeviceHelperFactory.java ? 0.00% ?
    AppComponent.java ? 0.00% ?
    AppForeground.java ? 0.00% ?
    AppMeasurementModule.java ? 0.00% ?
    AppMeasurementModule_ProvidesAnalyticsConnectorFactory.java ? 0.00% ?
    AppMeasurementModule_ProvidesSubsriberFactory.java ? 0.00% ?
    ApplicationModule.java ? 0.00% ?
    ApplicationModule_DeveloperListenerManagerFactory.java ? 0.00% ?
    ApplicationModule_ProvidesApplicationFactory.java ? 0.00% ?
    AutoValue_InstallationIdResult.java ? 33.33% ?
    AutoValue_RateLimit.java ? 53.19% ?
    BannerMessage.java ? 75.00% ?
    Button.java ? 61.76% ?
    CampaignAnalytics.java ? 33.22% ?
    CampaignAnalyticsOrBuilder.java ? 0.00% ?
    CampaignCache.java ? 0.00% ?
    CampaignCacheClient.java ? 88.00% ?
    CampaignCacheClient_Factory.java ? 0.00% ?
    CampaignImpression.java ? 38.96% ?
    CampaignImpressionList.java ? 38.68% ?
    CampaignImpressionListOrBuilder.java ? 0.00% ?
    CampaignImpressionOrBuilder.java ? 0.00% ?
    CampaignMetadata.java ? 100.00% ?
    CampaignProto.java ? 27.38% ?
    CardMessage.java ? 78.48% ?
    ClientAppInfo.java ? 35.79% ?
    ClientAppInfoOrBuilder.java ? 0.00% ?
    Clock.java ? 0.00% ?
    CommonTypesProto.java ? 9.99% ?
    DaggerAppComponent.java ? 0.00% ?
    DaggerUniversalComponent.java ? 0.00% ?
    DataCollectionHelper.java ? 87.50% ?
    DataCollectionHelper_Factory.java ? 0.00% ?
    DeveloperListenerManager.java ? 90.20% ?
    DismissType.java ? 82.61% ?
    DisplayCallbacksFactory.java ? 100.00% ?
    DisplayCallbacksFactory_Factory.java ? 0.00% ?
    DisplayCallbacksImpl.java ? 93.40% ?
    EventType.java ? 76.19% ?
    FetchEligibleCampaignsRequest.java ? 32.61% ?
    FetchEligibleCampaignsRequestOrBuilder.java ? 0.00% ?
    FetchEligibleCampaignsResponse.java ? 43.22% ?
    FetchEligibleCampaignsResponseOrBuilder.java ? 0.00% ?
    FetchErrorReason.java ? 52.17% ?
    FiamAnalyticsConnectorListener.java ? 100.00% ?
    FiamFetchService.java ? 0.00% ?
    FirebaseAppScope.java ? 0.00% ?
    FirebaseInAppMessaging.java ? 66.67% ?
    FirebaseInAppMessagingCampaignAnalyticsProto.java ? 0.00% ?
    FirebaseInAppMessagingClickListener.java ? 0.00% ?
    FirebaseInAppMessagingContextualTrigger.java ? 0.00% ?
    FirebaseInAppMessagingDismissListener.java ? 0.00% ?
    FirebaseInAppMessagingDisplay.java ? 0.00% ?
    FirebaseInAppMessagingDisplayCallbacks.java ? 100.00% ?
    FirebaseInAppMessagingDisplayErrorListener.java ? 0.00% ?
    FirebaseInAppMessagingImpressionListener.java ? 0.00% ?
    FirebaseInAppMessagingRegistrar.java ? 0.00% ?
    FirebaseInAppMessaging_Factory.java ? 0.00% ?
    ForegroundFlowableModule.java ? 0.00% ?
    ForegroundFlowableModule_ProvidesAppForegroundEventStreamFactory.java ? 0.00% ?
    ForegroundNotifier.java ? 76.00% ?
    GrpcChannelModule.java ? 0.00% ?
    GrpcChannelModule_ProvidesGrpcChannelFactory.java ? 0.00% ?
    GrpcChannelModule_ProvidesServiceHostFactory.java ? 0.00% ?
    GrpcClient.java ? 100.00% ?
    GrpcClientModule.java ? 0.00% ?
    GrpcClientModule_ProvidesApiKeyHeadersFactory.java ? 0.00% ?
    GrpcClientModule_ProvidesInAppMessagingSdkServingStubFactory.java ? 0.00% ?
    GrpcClient_Factory.java ? 0.00% ?
    ImageData.java ? 71.43% ?
    ImageOnlyMessage.java ? 75.86% ?
    ImpressionStorageClient.java ? 100.00% ?
    ImpressionStorageClient_Factory.java ? 0.00% ?
    ImpressionStore.java ? 0.00% ?
    InAppMessage.java ? 24.24% ?
    InAppMessageStreamManager.java ? 91.35% ?
    InAppMessageStreamManager_Factory.java ? 0.00% ?
    InAppMessagingSdkServingGrpc.java ? 66.20% ?
    InstallationIdResult.java ? 100.00% ?
    Logging.java ? 81.82% ?
    MessageType.java ? 100.00% ?
    MessagesProto.java ? 36.21% ?
    MetricsLoggerClient.java ? 94.23% ?
    ModalMessage.java ? 74.07% ?
    ProgramaticContextualTriggers.java ? 0.00% ?
    ProgrammaticContextualTriggerFlowableModule.java ? 0.00% ?
    ProgrammaticContextualTriggerFlowableModule_ProvidesProgramaticContextualTriggerStreamFactory.java ? 0.00% ?
    ProgrammaticContextualTriggerFlowableModule_ProvidesProgramaticContextualTriggersFactory.java ? 0.00% ?
    ProgrammaticTrigger.java ? 0.00% ?
    ProtoMarshallerClient.java ? 91.40% ?
    ProtoMarshallerClient_Factory.java ? 0.00% ?
    ProtoStorageClient.java ? 100.00% ?
    ProtoStorageClientModule.java ? 0.00% ?
    ProtoStorageClientModule_ProvidesProtoStorageClientForCampaignFactory.java ? 0.00% ?
    ProtoStorageClientModule_ProvidesProtoStorageClientForImpressionStoreFactory.java ? 0.00% ?
    ProtoStorageClientModule_ProvidesProtoStorageClientForLimiterStoreFactory.java ? 0.00% ?
    ProviderInstaller.java ? 37.50% ?
    ProviderInstaller_Factory.java ? 0.00% ?
    RateLimit.java ? 0.00% ?
    RateLimitModule.java ? 0.00% ?
    RateLimitModule_ProvidesAppForegroundRateLimitFactory.java ? 0.00% ?
    RateLimitProto.java ? 52.69% ?
    RateLimiterClient.java ? 100.00% ?
    RateLimiterClient_Factory.java ? 0.00% ?
    RenderErrorReason.java ? 82.61% ?
    SchedulerModule.java ? 0.00% ?
    SchedulerModule_ProvidesComputeSchedulerFactory.java ? 0.00% ?
    SchedulerModule_ProvidesIOSchedulerFactory.java ? 0.00% ?
    SchedulerModule_ProvidesMainThreadSchedulerFactory.java ? 0.00% ?
    Schedulers.java ? 87.50% ?
    Schedulers_Factory.java ? 0.00% ?
    SharedPreferencesUtils.java ? 40.35% ?
    SharedPreferencesUtils_Factory.java ? 0.00% ?
    StubAnalyticsConnector.java ? 0.00% ?
    SystemClock.java ? 100.00% ?
    SystemClockModule.java ? 0.00% ?
    SystemClockModule_ProvidesSystemClockModuleFactory.java ? 0.00% ?
    SystemClock_Factory.java ? 0.00% ?
    TestDeviceHelper.java ? 100.00% ?
    TestDeviceHelper_Factory.java ? 0.00% ?
    Text.java ? 67.74% ?
    TransportClientModule.java ? 0.00% ?
    TransportClientModule_ProvidesMetricsLoggerClientFactory.java ? 0.00% ?
    TriggeredInAppMessage.java ? 100.00% ?
    UniversalComponent.java ? 0.00% ?
  • firebase-inappmessaging-display

    SDK overall coverage changed from ? (2056bfc) to 33.49% (8836428d) by ?.

    Click to show coverage changes in 73 files.
    Filename Base (2056bfc) Head (8836428d) Diff
    AppComponent.java ? 0.00% ?
    ApplicationModule.java ? 0.00% ?
    ApplicationModule_ProvidesApplicationFactory.java ? 0.00% ?
    BackButtonHandler.java ? 33.33% ?
    BackButtonLayout.java ? 0.00% ?
    BannerBindingWrapper.java ? 92.31% ?
    BannerBindingWrapper_Factory.java ? 0.00% ?
    BaseModalLayout.java ? 10.67% ?
    BindingWrapper.java ? 80.00% ?
    BindingWrapperFactory.java ? 0.00% ?
    BindingWrapperFactory_Factory.java ? 0.00% ?
    CardBindingWrapper.java ? 6.06% ?
    CardBindingWrapper_Factory.java ? 0.00% ?
    CardLayoutLandscape.java ? 0.00% ?
    CardLayoutPortrait.java ? 0.00% ?
    DaggerAppComponent.java ? 0.00% ?
    DaggerInAppMessageComponent.java ? 0.00% ?
    DaggerUniversalComponent.java ? 0.00% ?
    FiamAnimator.java ? 11.63% ?
    FiamAnimator_Factory.java ? 0.00% ?
    FiamCardView.java ? 0.00% ?
    FiamFrameLayout.java ? 28.57% ?
    FiamImageLoader.java ? 86.67% ?
    FiamImageLoader_Factory.java ? 0.00% ?
    FiamListener.java ? 0.00% ?
    FiamRelativeLayout.java ? 28.57% ?
    FiamWindowManager.java ? 73.53% ?
    FiamWindowManager_Factory.java ? 0.00% ?
    FirebaseAppScope.java ? 0.00% ?
    FirebaseInAppMessagingDisplay.java ? 88.55% ?
    FirebaseInAppMessagingDisplayImpl.java ? 43.75% ?
    FirebaseInAppMessagingDisplayRegistrar.java ? 0.00% ?
    FirebaseInAppMessagingDisplay_Factory.java ? 0.00% ?
    HeadlessInAppMessagingModule.java ? 0.00% ?
    HeadlessInAppMessagingModule_ProvidesHeadlesssSingletonFactory.java ? 0.00% ?
    ImageBindingWrapper.java ? 86.96% ?
    ImageBindingWrapper_Factory.java ? 0.00% ?
    InAppMessageComponent.java ? 0.00% ?
    InAppMessageLayoutConfig.java ? 91.84% ?
    InAppMessageScope.java ? 0.00% ?
    InflaterConfigModule.java ? 50.00% ?
    InflaterConfigModule_ProvidesBannerLandscapeLayoutConfigFactory.java ? 0.00% ?
    InflaterConfigModule_ProvidesBannerPortraitLayoutConfigFactory.java ? 0.00% ?
    InflaterConfigModule_ProvidesCardLandscapeConfigFactory.java ? 0.00% ?
    InflaterConfigModule_ProvidesCardPortraitConfigFactory.java ? 0.00% ?
    InflaterConfigModule_ProvidesDisplayMetricsFactory.java ? 0.00% ?
    InflaterConfigModule_ProvidesLandscapeImageLayoutConfigFactory.java ? 0.00% ?
    InflaterConfigModule_ProvidesModalLandscapeConfigFactory.java ? 0.00% ?
    InflaterConfigModule_ProvidesModalPortraitConfigFactory.java ? 0.00% ?
    InflaterConfigModule_ProvidesPortraitImageLayoutConfigFactory.java ? 0.00% ?
    InflaterModule.java ? 0.00% ?
    InflaterModule_InAppMessageLayoutConfigFactory.java ? 0.00% ?
    InflaterModule_ProvidesBannerMessageFactory.java ? 0.00% ?
    InflaterModule_ProvidesInflaterserviceFactory.java ? 0.00% ?
    LayoutConfigKey.java ? 0.00% ?
    Logging.java ? 60.00% ?
    MeasureUtils.java ? 0.00% ?
    ModalBindingWrapper.java ? 83.33% ?
    ModalBindingWrapper_Factory.java ? 0.00% ?
    ModalLayoutLandscape.java ? 0.00% ?
    ModalLayoutPortrait.java ? 4.29% ?
    OnSwipeUpListener.java ? 87.50% ?
    PicassoErrorListener.java ? 0.00% ?
    PicassoErrorListener_Factory.java ? 0.00% ?
    PicassoModule.java ? 0.00% ?
    PicassoModule_ProvidesFiamControllerFactory.java ? 0.00% ?
    RenewableTimer.java ? 0.00% ?
    RenewableTimer_Factory.java ? 0.00% ?
    ResizableImageView.java ? 81.25% ?
    SwipeDismissTouchListener.java ? 0.00% ?
    UniversalComponent.java ? 0.00% ?
    VerticalViewGroupMeasure.java ? 7.35% ?
    ViewMeasure.java ? 0.00% ?
  • firebase-inappmessaging-display-ktx

    SDK overall coverage changed from ? (2056bfc) to 100.00% (8836428d) by ?.

    Filename Base (2056bfc) Head (8836428d) Diff
    InAppMessagingDisplay.kt ? 100.00% ?
  • firebase-inappmessaging-ktx

    SDK overall coverage changed from ? (2056bfc) to 100.00% (8836428d) by ?.

    Filename Base (2056bfc) Head (8836428d) Diff
    InAppMessaging.kt ? 100.00% ?
  • firebase-installations

    SDK overall coverage changed from ? (2056bfc) to 57.27% (8836428d) by ?.

    Click to show coverage changes in 19 files.
    Filename Base (2056bfc) Head (8836428d) Diff
    AutoValue_InstallationResponse.java ? 42.86% ?
    AutoValue_PersistedInstallationEntry.java ? 61.18% ?
    AutoValue_TokenResult.java ? 45.65% ?
    AwaitListener.java ? 0.00% ?
    CrossProcessLock.java ? 51.85% ?
    FirebaseInstallationServiceClient.java ? 5.07% ?
    FirebaseInstallations.java ? 97.87% ?
    FirebaseInstallationsException.java ? 76.92% ?
    FirebaseInstallationsRegistrar.java ? 100.00% ?
    GetAuthTokenListener.java ? 90.00% ?
    GetIdListener.java ? 70.00% ?
    IidStore.java ? 44.78% ?
    InstallationResponse.java ? 100.00% ?
    PersistedInstallation.java ? 96.77% ?
    PersistedInstallationEntry.java ? 100.00% ?
    RandomFidGenerator.java ? 20.00% ?
    StateListener.java ? 0.00% ?
    TokenResult.java ? 100.00% ?
    Utils.java ? 100.00% ?
  • firebase-installations-ktx

    SDK overall coverage changed from ? (2056bfc) to 100.00% (8836428d) by ?.

    Filename Base (2056bfc) Head (8836428d) Diff
    Installations.kt ? 100.00% ?
  • firebase-messaging

    SDK overall coverage changed from 83.56% (2056bfc) to 83.43% (8836428d) by -0.14%.

    Filename Base (2056bfc) Head (8836428d) Diff
    TopicsSubscriber.java 91.38% 89.66% -1.72%
  • firebase-segmentation

    SDK overall coverage changed from ? (2056bfc) to 53.07% (8836428d) by ?.

    Filename Base (2056bfc) Head (8836428d) Diff
    AutoValue_CustomInstallationIdCacheEntryValue.java ? 35.48% ?
    CustomInstallationIdCache.java ? 93.75% ?
    CustomInstallationIdCacheEntryValue.java ? 100.00% ?
    FirebaseSegmentation.java ? 71.05% ?
    FirebaseSegmentationRegistrar.java ? 80.00% ?
    SegmentationServiceClient.java ? 8.24% ?
    SetCustomInstallationIdException.java ? 83.33% ?
    Utils.java ? 71.43% ?

Test Logs

Notes

HTML coverage reports can be produced locally with ./gradlew <product>:checkCoverage.
Report files are located at <product-build-dir>/reports/jacoco/.

Head commit (8836428d) is created by Prow via merging commits: 2056bfc 927c60a.

@vkryachko
Copy link
Member Author

/test check-changed

@vkryachko vkryachko requested a review from rlazo September 1, 2020 18:25
@vkryachko
Copy link
Member Author

/test device-check-changed

@vkryachko vkryachko merged commit 24a07db into master Sep 2, 2020
@firebase firebase locked and limited conversation to collaborators Oct 3, 2020
@vkryachko vkryachko deleted the vk.encoders_split branch October 20, 2020 21:56
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes Override cla size/L
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants