From 46e805dd9decbcec7e64f236f9ff5ff359fcfb0c Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Fri, 27 Feb 2026 12:04:56 -0700 Subject: [PATCH 1/7] Speed up CI lint jobs by removing blocking overhead Move locale consistency checks into a separate parallel CI job and disable checkDependencies for app-level lint. This removes ~4-6 min of gem install + fastlane overhead from each lint job's critical path. Co-Authored-By: Claude Opus 4.6 --- .buildkite/commands/lint.sh | 6 ------ .buildkite/pipeline.yml | 11 +++++++++++ build.gradle | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.buildkite/commands/lint.sh b/.buildkite/commands/lint.sh index 6a836fdbb25d..f51dd73f6280 100755 --- a/.buildkite/commands/lint.sh +++ b/.buildkite/commands/lint.sh @@ -6,12 +6,6 @@ fi "$(dirname "${BASH_SOURCE[0]}")/restore-cache.sh" -echo "--- :rubygems: Setting up Gems" -install_gems - -echo "--- :globe_with_meridians: Check Locales Declaration Consistency" -bundle exec fastlane check_declared_locales_consistency app:"$1" - echo "--- :microscope: Linting" if [ "$1" = "wordpress" ]; then diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 25b2f2aa7d4f..25cbc1f72d08 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -59,6 +59,17 @@ steps: artifact_paths: - "**/build/reports/detekt/detekt.html" + - label: "🌐 Locale Consistency" + command: | + if .buildkite/commands/should-skip-job.sh --job-type validation; then + exit 0 + fi + + install_gems + bundle exec fastlane check_declared_locales_consistency app:wordpress + bundle exec fastlane check_declared_locales_consistency app:jetpack + plugins: [$CI_TOOLKIT] + - label: "🕵️ Lint WordPress" command: ".buildkite/commands/lint.sh wordpress" plugins: [$CI_TOOLKIT] diff --git a/build.gradle b/build.gradle index 9595b7570c65..1aaaad09154c 100644 --- a/build.gradle +++ b/build.gradle @@ -100,7 +100,7 @@ subprojects { android { lintOptions { warningsAsErrors = true - checkDependencies true + checkDependencies false checkGeneratedSources = true lintConfig file("${project.rootDir}/config/lint/lint.xml") baseline file("${project.rootDir}/config/lint/baseline.xml") From 9ebf713133dfaa3354bdcb06645fff1d6500bb76 Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Fri, 27 Feb 2026 12:26:51 -0700 Subject: [PATCH 2/7] Revert checkDependencies change to fix lint baseline mismatch The baseline was generated with checkDependencies=true, so switching it off causes 234 baseline entries to become "fixed" and surfaces new UnusedResources errors. Reverting until the baseline can be regenerated. Co-Authored-By: Claude Opus 4.6 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 1aaaad09154c..9595b7570c65 100644 --- a/build.gradle +++ b/build.gradle @@ -100,7 +100,7 @@ subprojects { android { lintOptions { warningsAsErrors = true - checkDependencies false + checkDependencies true checkGeneratedSources = true lintConfig file("${project.rootDir}/config/lint/lint.xml") baseline file("${project.rootDir}/config/lint/baseline.xml") From 01d518c9a94f0317f01bdac9953bfe9c00cbba1f Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Fri, 27 Feb 2026 12:37:44 -0700 Subject: [PATCH 3/7] Disable checkDependencies and lint libraries separately in CI - Set checkDependencies=false for app-level lint to avoid scanning the entire dependency tree - Add add_ignore_attr to local library string configs so merged strings are not flagged as unused without dependency checking - Add separate CI lint jobs for editor, login, and image-editor libraries to maintain lint coverage Co-Authored-By: Claude Opus 4.6 --- .buildkite/pipeline.yml | 30 ++++++++++++++++++++++++++++++ build.gradle | 2 +- fastlane/lanes/localization.rb | 8 +++----- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 25cbc1f72d08..47423e9583ec 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -82,6 +82,36 @@ steps: artifact_paths: - "**/build/reports/lint-results*.*" + - label: "🕵️ Lint libs:editor" + command: | + if .buildkite/commands/should-skip-job.sh --job-type lint; then + exit 0 + fi + + .buildkite/commands/restore-cache.sh + ./gradlew :libs:editor:lint + plugins: [$CI_TOOLKIT] + + - label: "🕵️ Lint libs:login" + command: | + if .buildkite/commands/should-skip-job.sh --job-type lint; then + exit 0 + fi + + .buildkite/commands/restore-cache.sh + ./gradlew :libs:login:lint + plugins: [$CI_TOOLKIT] + + - label: "🕵️ Lint libs:image-editor" + command: | + if .buildkite/commands/should-skip-job.sh --job-type lint; then + exit 0 + fi + + .buildkite/commands/restore-cache.sh + ./gradlew :libs:image-editor:lint + plugins: [$CI_TOOLKIT] + ################# # Diff Reports ################# diff --git a/build.gradle b/build.gradle index 9595b7570c65..1aaaad09154c 100644 --- a/build.gradle +++ b/build.gradle @@ -100,7 +100,7 @@ subprojects { android { lintOptions { warningsAsErrors = true - checkDependencies true + checkDependencies false checkGeneratedSources = true lintConfig file("${project.rootDir}/config/lint/lint.xml") baseline file("${project.rootDir}/config/lint/baseline.xml") diff --git a/fastlane/lanes/localization.rb b/fastlane/lanes/localization.rb index bc20c923a5c4..40e4a06d8dc8 100644 --- a/fastlane/lanes/localization.rb +++ b/fastlane/lanes/localization.rb @@ -278,11 +278,9 @@ JETPACK_MAIN_STRINGS_PATH = File.join(PROJECT_ROOT_FOLDER, 'WordPress', 'src', 'jetpack', 'res', 'values', 'strings.xml').freeze JETPACK_FROZEN_STRINGS_DIR_PATH = File.join(FASTLANE_FOLDER, 'jetpack_resources', 'values').freeze LOCAL_LIBRARIES_STRINGS_PATHS = [ - # NOTE: for those we don't set `add_ignore_attr` to true because we currently use `checkDependencies true` in `WordPress/build.gradle` - # Which will correctly detect strings from the app's `strings.xml` being used by one of the module. - { library: 'Image Editor', strings_path: './libs/image-editor/src/main/res/values/strings.xml', source_id: 'module:image-editor' }, - { library: 'Editor', strings_path: './libs/editor/src/main/res/values/strings.xml', source_id: 'module:editor' }, - { library: 'Login Library', strings_path: './libs/login/src/main/res/values/strings.xml', source_id: 'module:login' } + { library: 'Image Editor', strings_path: './libs/image-editor/src/main/res/values/strings.xml', source_id: 'module:image-editor', add_ignore_attr: true }, + { library: 'Editor', strings_path: './libs/editor/src/main/res/values/strings.xml', source_id: 'module:editor', add_ignore_attr: true }, + { library: 'Login Library', strings_path: './libs/login/src/main/res/values/strings.xml', source_id: 'module:login', add_ignore_attr: true } ].freeze REMOTE_LIBRARIES_STRINGS_PATHS = [ { From c2ae2cb75f6148cb62c6243e4756646924a1a93d Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Fri, 27 Feb 2026 13:07:41 -0700 Subject: [PATCH 4/7] Regenerate lint baseline for checkDependencies=false The baseline was generated with checkDependencies=true, which meant dependency-sourced issues were included. With checkDependencies=false, the baseline needs to reflect app-module-only lint results. This also captures MissingNullAnnotation warnings that were always present but never baselined. Co-Authored-By: Claude Opus 4.6 --- config/lint/baseline.xml | 66359 +++++++++++++++++++++++++++++++++++-- 1 file changed, 63184 insertions(+), 3175 deletions(-) diff --git a/config/lint/baseline.xml b/config/lint/baseline.xml index 18a259cbf4e6..864ac80eaf0d 100644 --- a/config/lint/baseline.xml +++ b/config/lint/baseline.xml @@ -1,5 +1,5 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + errorLine1=" private val productsStore = mock<ProductsStore> { on { fetchProducts(any()) } doReturn mock() }" + errorLine2=" ~~~~~~"> + column="92"/> - - - - - - - - - - - - - - - - - - - - + message="'org.wordpress.android.fluxc.tools.FormattableContent' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> @@ -1202,3764 +784,64396 @@ + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.Text' is a data class, so mocking it should not be necessary" + errorLine1=" val textItem = mock<Text>()" + errorLine2=" ~~~~~~~~~~~~"> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.Text' is a data class, so mocking it should not be necessary" + errorLine1=" val textItem = mock<Text>()" + errorLine2=" ~~~~~~~~~~~~"> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.BarChartItem' is a data class, so mocking it should not be necessary" + errorLine1=" val chartItem = mock<BarChartItem>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/LatestPostSummaryUseCaseTest.kt" + line="176" + column="25"/> + message="'org.wordpress.android.fluxc.tools.FormattableContent' is a data class, so mocking it should not be necessary" + errorLine1=" val content = mock<FormattableContent>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/engagement/ListScenarioUtilsTest.kt" + line="92" + column="23"/> + message="'org.wordpress.android.ui.main.MainActionListItem.AnswerBloggingPromptAction' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MainActionListItem.AnswerBloggingPromptAction>()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/main/analytics/MainCreateSheetTrackerTest.kt" + line="258" + column="13"/> + message="'org.wordpress.android.ui.main.MainActionListItem.CreateAction' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MainActionListItem.CreateAction>()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/main/analytics/MainCreateSheetTrackerTest.kt" + line="259" + column="13"/> + message="'org.wordpress.android.ui.main.MainActionListItem.CreateAction' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MainActionListItem.CreateAction>()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/main/analytics/MainCreateSheetTrackerTest.kt" + line="260" + column="13"/> + message="'org.wordpress.android.ui.main.MainActionListItem.CreateAction' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MainActionListItem.CreateAction>()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/main/analytics/MainCreateSheetTrackerTest.kt" + line="269" + column="13"/> + message="'org.wordpress.android.ui.main.MainActionListItem.CreateAction' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MainActionListItem.CreateAction>()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/main/analytics/MainCreateSheetTrackerTest.kt" + line="270" + column="13"/> + message="'org.wordpress.android.ui.mediapicker.loader.MediaLoader' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mediapicker/MediaPickerViewModelTest.kt" + line="79" + column="5"/> + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mediapicker/MediaPickerViewModelTest.kt" + line="91" + column="5"/> + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mediapicker/MediaPickerViewModelTest.kt" + line="94" + column="5"/> + message="'org.wordpress.android.fluxc.model.blaze.BlazeCampaignModel' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(store.getMostRecentBlazeCampaign(siteModel)).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/blaze/MostRecentCampaignUseCaseTest.kt" + line="46" + column="74"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mysite/MySiteUiStateTest.kt" + line="19" + column="5"/> + message="'org.wordpress.android.fluxc.store.ProductsStore.FetchProductsError' is a data class, so mocking it should not be necessary" + errorLine1=" ProductsStore.OnProductsFetched(error = mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/domains/management/newdomainsearch/domainsfetcher/NewDomainsSearchRepositoryTest.kt" + line="275" + column="53"/> + message="'org.wordpress.android.ui.mysite.MySiteCardAndItem.Card.ActivityCard.ActivityCardWithItems' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MySiteCardAndItem.Card.ActivityCard.ActivityCardWithItems>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + message="'org.wordpress.android.ui.mysite.MySiteCardAndItem.Card.DomainRegistrationCard' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MySiteCardAndItem.Card.DomainRegistrationCard>().apply {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + message="'org.wordpress.android.ui.mysite.MySiteCardAndItem.Card.ActivityCard.ActivityCardWithItems' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MySiteCardAndItem.Card.ActivityCard.ActivityCardWithItems>().apply {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" val navigateAction = notificationsLinkHandler.buildNavigateAction(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/deeplinks/handlers/NotificationsLinkHandlerTest.kt" + line="53" + column="75"/> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.Columns' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/granular/usecases/OverviewUseCaseTest.kt" + line="64" + column="5"/> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.ValueItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/granular/usecases/OverviewUseCaseTest.kt" + line="67" + column="5"/> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.BarChartItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/granular/usecases/OverviewUseCaseTest.kt" + line="70" + column="5"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="74" + column="85"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="88" + column="85"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="103" + column="85"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="118" + column="85"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="132" + column="81"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="141" + column="81"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="157" + column="81"/> + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/people/PeopleInviteViewModelTest.kt" + line="56" + column="5"/> + message="'org.wordpress.android.ui.mysite.MySiteCardAndItem.Card.DashboardPlansCard' is a data class, so mocking it should not be necessary" + errorLine1=" val card = mock<MySiteCardAndItem.Card.DashboardPlansCard>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/plans/PlansCardViewModelSliceTest.kt" + line="61" + column="20"/> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.ValueItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/detail/PostDayViewsUseCaseTest.kt" + line="61" + column="5"/> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.BarChartItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/detail/PostDayViewsUseCaseTest.kt" + line="64" + column="5"/> + message="'org.wordpress.android.fluxc.model.stats.PostDetailStatsModel' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + column="72"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="188" + column="72"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="203" + column="72"/> + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="217" + column="72"/> + message="'org.wordpress.android.fluxc.model.BloggingRemindersModel' is a data class, so mocking it should not be necessary" + errorLine1=" private val bloggingReminder: BloggingRemindersModel = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/workers/reminder/PromptReminderNotifierTest.kt" + line="38" + column="60"/> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.ListItemWithIcon' is a data class, so mocking it should not be necessary" + errorLine1=" val mockedItem = mock<ListItemWithIcon>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/PublicizeUseCaseTest.kt" + line="88" + column="26"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private ReaderTag getReaderTagFromBundleParams(PersistableBundle bundle) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/services/post/ReaderPostJobService.java" + line="91" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderPostList fromJson(JSONObject json) {" + errorLine2=" ~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderPostList.java" + line="10" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Object clone() {" + errorLine2=" ~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderPostList.java" + line="27" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public IBinder onBind(Intent intent) {" + errorLine2=" ~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/services/post/ReaderPostService.java" + line="34" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getPostTitle(long blogId, long postId) {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="387" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getPostText(long blogId, long postId) {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="394" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderActions.UpdateResult comparePosts(ReaderPostList posts) {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="419" + column="46"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getOldestDateWithTag(final ReaderTag tag) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="641" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getOldestPubDateInBlog(long blogId) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="658" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getOldestPubDateInFeed(long feedId) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="665" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderBlogIdPostId getGapMarkerIdsForTag(final ReaderTag tag) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="686" + column="38"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getGapMarkerDateForTag(ReaderTag tag) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="724" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String getSortColumnForTag(ReaderTag tag) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="744" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String maxText(final ReaderPost post) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="836" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderPostList getPostsWithTag(ReaderTag tag, int maxPosts, boolean excludeTextColumn) {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="948" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderPostList getPostsInBlog(long blogId, int maxPosts, boolean excludeTextColumn) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="981" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Map<Pair<String, ReaderTagType>, ReaderPostList> getTagPostMap(long blogId) {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="999" + column="68"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Map<Pair<String, ReaderTagType>, ReaderPostList> getAuthorPostMap(long authorId) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1009" + column="68"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderPostList getPostsInFeed(long feedId, int maxPosts, boolean excludeTextColumn) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1019" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderBlogIdPostIdList getBlogIdPostIdsWithTag(ReaderTag tag, int maxPosts) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1040" + column="42"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderBlogIdPostIdList getBlogIdPostIdsWithTagType(ReaderTagType tagType, int maxPosts) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1065" + column="43"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderBlogIdPostIdList getBlogIdPostIds(@NonNull String sql, @NonNull String[] args) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1080" + column="43"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderBlogIdPostIdList getBlogIdPostIdsInBlog(long blogId, int maxPosts) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1098" + column="42"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Pair<String, ReaderTagType> getTagNameAndTypeFromCursor(Cursor c) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1121" + column="48"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderPost getPostFromCursor(Cursor c) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1131" + column="31"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderPostList getPostListFromCursor(Cursor cursor) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1213" + column="35"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Map<Pair<String, ReaderTagType>, ReaderPostList> getTagPostMapFromCursor(Cursor cursor) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1227" + column="69"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderBlogIdPostIdList getBookmarkedPostIds() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderPostTable.java" + line="1292" + column="43"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderPostWebViewCachingFragment newInstance(long blogId, long postId) {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderPostWebViewCachingFragment.java" + line="43" + column="52"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public IBinder onBind(Intent intent) {" + errorLine2=" ~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/services/search/ReaderSearchService.java" + line="30" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getSuggestion(int position) {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/adapters/ReaderSearchSuggestionAdapter.java" + line="97" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public View newView(Context context, Cursor cursor, ViewGroup parent) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/adapters/ReaderSearchSuggestionAdapter.java" + line="132" + column="17"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Cursor getQueryStringCursor(String filter, int max) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderSearchTable.java" + line="66" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderSimplePost fromJson(JSONObject json) {" + errorLine2=" ~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/models/ReaderSimplePost.java" + line="34" + column="36"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getTitle() {" + errorLine2=" ~~~~~~~~"> + + + + + file="src/main/java/org/wordpress/android/ui/reader/models/ReaderSimplePost.java" + line="84" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getSiteName() {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/models/ReaderSimplePost.java" + line="88" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getFeaturedImageUrl() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/models/ReaderSimplePost.java" + line="93" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getRailcarJson() {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/models/ReaderSimplePost.java" + line="97" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getFeaturedImageForDisplay(int width, int height) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/models/ReaderSimplePost.java" + line="113" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderSimplePostList fromJsonPosts(@NonNull JSONArray jsonPosts) {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/models/ReaderSimplePostList.java" + line="11" + column="40"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private SubsPageAdapter getPageAdapter() {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java" + line="244" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public CharSequence getPageTitle(int position) {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java" + line="561" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Fragment getItem(int position) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java" + line="573" + column="25"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Object instantiateItem(ViewGroup container, int position) {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java" + line="583" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getEndpoint() {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTag.java" + line="73" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getTagTitle() {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTag.java" + line="81" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getTagDisplayName() {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTag.java" + line="93" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getTagSlug() {" + errorLine2=" ~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTag.java" + line="101" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getTagNameForLog() {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTag.java" + line="114" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String getTagSlugFromEndpoint(final String endpoint) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTag.java" + line="145" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Organization getOrganization() {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTag.java" + line="226" + column="25"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getKeyString() {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTag.java" + line="238" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getLabel() {" + errorLine2=" ~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTag.java" + line="246" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderTag createDiscoverPostCardsTag() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTag.java" + line="277" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderTagList parseFollowedTags(JSONObject jsonObject) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/actions/ReaderTagActions.java" + line="208" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private Context getContext() {" + errorLine2=" ~~~~~~~~~~"> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public TagViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java" + line="104" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" protected ReaderTagList doInBackground(Void... params) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java" + line="197" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" static ReaderTagFragment newInstance() {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java" + line="36" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java" + line="42" + column="17"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private ReaderTagAdapter getTagAdapter() {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java" + line="102" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public ReaderTagList getDeletions(ReaderTagList otherList) {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTagList.java" + line="58" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderTag getTagFromCursor(Cursor c) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderTagTable.java" + line="161" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderTag getTag(String tagSlug, ReaderTagType tagType) {" + errorLine2=" ~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderTagTable.java" + line="175" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderTag getTagFromEndpoint(String endpoint) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderTagTable.java" + line="193" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getEndpointForTag(ReaderTag tag) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderTagTable.java" + line="209" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderTagList getDefaultTags() {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderTagTable.java" + line="219" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderTagList getFollowedTags() {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderTagTable.java" + line="223" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderTagList getCustomListTags() {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderTagTable.java" + line="227" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderTagList getBookmarkTags() {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderTagTable.java" + line="231" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderTagList getDiscoverPostCardsTags() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderTagTable.java" + line="235" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderTagList getTagsOfType(ReaderTagType tagType) {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderTagTable.java" + line="239" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" static ReaderTagList getAllTags() {" + errorLine2=" ~~~~~~~~~~"> + + + + + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderTagType fromInt(int value) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderTagType.java" + line="23" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getThumbnailUrl(String fullUrl) {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderThumbnailTable.java" + line="48" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getSource() {" + errorLine2=" ~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderTypes.java" + line="25" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderTagList parseTags(JSONObject jsonObject, String name, ReaderTagType tagType) {" + errorLine2=" ~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateLogic.java" + line="210" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderTagList parseInterestTags(JSONObject jsonObject) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateLogic.java" + line="245" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public IBinder onBind(Intent intent) {" + errorLine2=" ~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateService.java" + line="25" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static int[] getIntArrayFromEnumSet(EnumSet<ReaderUpdateLogic.UpdateTask> enumSet) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateServiceStarter.java" + line="43" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderUser fromJson(JSONObject json) {" + errorLine2=" ~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderUser.java" + line="19" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getUserName() {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderUser.java" + line="43" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getDisplayName() {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderUser.java" + line="51" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getUrl() {" + errorLine2=" ~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderUser.java" + line="59" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getProfileUrl() {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderUser.java" + line="67" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getAvatarUrl() {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderUser.java" + line="75" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getUrlDomain() {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderUser.java" + line="96" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public UserViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/adapters/ReaderUserAdapter.java" + line="60" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public ReaderUserIdList getUserIds() {" + errorLine2=" ~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderUserList.java" + line="12" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderUserList fromJsonLikes(JSONObject json) {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/ReaderUserList.java" + line="23" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private ReaderUserAdapter getAdapter() {" + errorLine2=" ~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderUserListActivity.java" + line="79" + column="31"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private String getTitleString(final long blogId," + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/ReaderUserListActivity.java" + line="137" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ArrayList<String> getAvatarUrls(ReaderUserIdList userIds, int max, int avatarSz, long wpComUserId) {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderUserTable.java" + line="74" + column="37"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderUser getCurrentUser(final long wpComUserId) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderUserTable.java" + line="126" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderUser getUser(long userId) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderUserTable.java" + line="130" + column="31"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderUserList getUsersWhoLikePost(long blogId, long postId, int max) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderUserTable.java" + line="143" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ReaderUserList getUsersWhoLikeComment(long blogId, long commentId, int max) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderUserTable.java" + line="165" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static ReaderUser getUserFromCursor(Cursor c) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/ReaderUserTable.java" + line="189" + column="31"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getYouTubeThumbnailUrl(final String videoUrl) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/utils/ReaderVideoUtils.java" + line="67" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String getYouTubeVideoId(final String link) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/utils/ReaderVideoUtils.java" + line="86" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String getVimeoVideoId(final String link) {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/utils/ReaderVideoUtils.java" + line="157" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private ReaderWebViewUrlClickListener getUrlClickListener() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/views/ReaderWebView.java" + line="146" + column="43"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private ReaderWebViewPageFinishedListener getPageFinishedListener() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/views/ReaderWebView.java" + line="158" + column="47"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private ReaderCustomViewListener getCustomViewListener() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/views/ReaderWebView.java" + line="178" + column="38"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public WebResourceResponse shouldInterceptRequest(WebView view, String url) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/views/ReaderWebView.java" + line="309" + column="36"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private ViewGroup getTargetView() {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/views/ReaderWebView.java" + line="367" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private ViewGroup getContentView() {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/views/ReaderWebView.java" + line="378" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getXPostTitle(@NonNull ReaderPost post) {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/utils/ReaderXPostUtils.java" + line="25" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Spanned getXPostSubtitleHtml(@NonNull ReaderPost post) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/utils/ReaderXPostUtils.java" + line="38" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String getFromSiteName(@NonNull ReaderPost post) {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/utils/ReaderXPostUtils.java" + line="53" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String getToSiteName(@NonNull ReaderPost post) {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/reader/utils/ReaderXPostUtils.java" + line="65" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Dialog onCreateDialog(Bundle savedInstanceState) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/RelatedPostsDialog.java" + line="62" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private Intent getResultIntent() {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/RelatedPostsDialog.java" + line="159" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static RoleChangeDialogFragment newInstance(long personID, SiteModel site, String role) {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/people/RoleChangeDialogFragment.java" + line="51" + column="44"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Dialog onCreateDialog(Bundle savedInstanceState) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/people/RoleChangeDialogFragment.java" + line="64" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" String getSelectedRole() {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/people/RoleChangeDialogFragment.java" + line="137" + column="16"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" String getNewRole() {" + errorLine2=" ~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/people/RoleChangeDialogFragment.java" + line="165" + column="16"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Dialog onCreateDialog(Bundle savedInstanceState) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/people/RoleSelectDialogFragment.java" + line="37" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getDisplayName(String userRole, List<RoleModel> siteUserRoles) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/RoleUtils.java" + line="14" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static List<RoleModel> getInviteRoles(SiteStore siteStore, SiteModel siteModel, Context context) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/RoleUtils.java" + line="25" + column="35"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static X509Certificate sslCertificateToX509(@Nullable SslCertificate cert) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/SelfSignedSSLUtils.java" + line="57" + column="35"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ShareIntentReceiverFragment newInstance(boolean sharingMediaFile, int lastUsedBlogLocalId) {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/ShareIntentReceiverFragment.java" + line="50" + column="47"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private Adapter createSiteAdapter() {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/ShareIntentReceiverFragment.java" + line="145" + column="21"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private ViewHolderHandler<HeaderViewHolder> createHeaderHandler() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/ShareIntentReceiverFragment.java" + line="179" + column="49"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public HeaderViewHolder onCreateViewHolder(LayoutInflater layoutInflater, ViewGroup parent," + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/ShareIntentReceiverFragment.java" + line="182" + column="37"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Shortcut fromActionString(String action) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/Shortcut.java" + line="16" + column="28"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private SiteRecord getItem(int position) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/main/SitePickerAdapter.java" + line="263" + column="24"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" String getLastSearch() {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/main/SitePickerAdapter.java" + line="421" + column="12"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public HashSet<Integer> getSelectedPositions() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/main/SitePickerAdapter.java" + line="563" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private List<SiteRecord> filteredSitesByTextIfInSearchMode(List<SiteRecord> sites) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/main/SitePickerAdapter.java" + line="572" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public List<SiteModel> getBlogsForCurrentView() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/main/SitePickerAdapter.java" + line="580" + column="28"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" protected List<SiteRecord>[] doInBackground(Void... params) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/main/SitePickerAdapter.java" + line="615" + column="38"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String[] getEntries(@NonNull Context context) {" + errorLine2=" ~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFormatDialog.java" + line="39" + column="25"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String[] getValues(@NonNull Context context) {" + errorLine2=" ~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFormatDialog.java" + line="47" + column="25"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static SiteSettingsFormatDialog newInstance(@NonNull FormatType formatType, @NonNull String formatValue) {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFormatDialog.java" + line="68" + column="44"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Dialog onCreateDialog(Bundle savedInstanceState) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFormatDialog.java" + line="79" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private String getSelectedFormatValue() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFormatDialog.java" + line="167" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public View onCreateView(@NonNull LayoutInflater inflater," + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFragment.java" + line="488" + column="17"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private AppCompatActivity getAppCompatActivity() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFragment.java" + line="519" + column="31"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private String getAllowlistSummary(int value) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFragment.java" + line="1810" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private View getListEditorView(String headerText) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFragment.java" + line="1861" + column="18"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private Preference getChangePref(int id) {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFragment.java" + line="2190" + column="24"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private Preference getClickPref(int id) {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFragment.java" + line="2194" + column="24"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private MultiSelectRecyclerViewAdapter getAdapter() {" + errorLine2=" ~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsFragment.java" + line="2263" + column="44"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getSharingLabel() {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsInterface.java" + line="496" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getStartOfWeek() {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsInterface.java" + line="551" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getDateFormat() {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsInterface.java" + line="559" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getTimeFormat() {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsInterface.java" + line="567" + column="19"/> - + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getTimezone() {" + errorLine2=" ~~~~~~~~~~~"> + + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public SiteSettingsInterface init(boolean fetchRemote) {" + errorLine2=" ~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsInterface.java" + line="982" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" protected String languageIdToLanguageCode(String id) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsInterface.java" + line="1017" + column="22"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public ContentValues serializeToDatabase() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/SiteSettingsModel.java" + line="428" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String postFormatList(Map<String, String> formats) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/SiteSettingsModel.java" + line="523" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String categoryIdList(CategoryModel[] elements) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/SiteSettingsModel.java" + line="543" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private String getStringFromCursor(Cursor cursor, String columnName) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/SiteSettingsModel.java" + line="568" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static SparseArrayCompat<CategoryModel> getAllCategories() {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/SiteSettingsTable.java" + line="49" + column="52"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Cursor getSettings(long id) {" + errorLine2=" ~~~~~~~~~~~"> + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String sqlSelectAllCategories() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/SiteSettingsTable.java" + line="115" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String sqlSelectAllSettings() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/SiteSettingsTable.java" + line="119" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String sqlWhere(String variable, String value) {" + errorLine2=" ~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/SiteSettingsTable.java" + line="123" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static SiteSettingsTagDetailFragment newInstance(@Nullable TermModel term) {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsTagDetailFragment.java" + line="51" + column="49"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SiteSettingsTagDetailFragment.java" + line="70" + column="17"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getSiteNameOrHomeURL(SiteModel site) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/SiteUtils.java" + line="215" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getHomeURLOrHostName(SiteModel site) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/SiteUtils.java" + line="226" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getSiteIconUrl(SiteModel site, int size) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/SiteUtils.java" + line="246" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ImageType getSiteImageType(boolean isP2, BlavatarShape shape) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/SiteUtils.java" + line="251" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static SiteAccessibilityInfo getAccessibilityInfoFromSite(@NonNull SiteModel site) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/SiteUtils.java" + line="281" + column="41"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private FragmentActivity getActivityAndCheckAvailability() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/accounts/SmartLockHelper.java" + line="50" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public PointF computeScrollVectorForPosition(int targetPosition) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SmoothScrollLinearLayoutManager.java" + line="56" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public List<Suggestion> getSuggestionList() {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/suggestion/adapters/SuggestionAdapter.java" + line="59" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public List<Suggestion> getFilteredSuggestions() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/suggestion/adapters/SuggestionAdapter.java" + line="63" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Suggestion getItem(int position) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/suggestion/adapters/SuggestionAdapter.java" + line="76" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public View getView(int position, View convertView, ViewGroup parent) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/suggestion/adapters/SuggestionAdapter.java" + line="89" + column="17"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Filter getFilter() {" + errorLine2=" ~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/suggestion/adapters/SuggestionAdapter.java" + line="120" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" protected FilterResults performFiltering(CharSequence constraint) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/suggestion/adapters/SuggestionAdapter.java" + line="142" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public CharSequence convertResultToString(Object resultValue) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/suggestion/adapters/SuggestionAdapter.java" + line="187" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public PersistentEditTextHelper getAutoSaveTextHelper() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/SuggestionAutoCompleteText.java" + line="79" + column="37"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Parcelable onSaveInstanceState() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/SuggestionAutoCompleteText.java" + line="106" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public SavedState createFromParcel(Parcel in) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/SuggestionAutoCompleteText.java" + line="222" + column="31"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public SavedState[] newArray(int size) {" + errorLine2=" ~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/SuggestionAutoCompleteText.java" + line="226" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public IBinder onBind(Intent intent) {" + errorLine2=" ~~~~~~"> + file="src/main/java/org/wordpress/android/ui/suggestion/service/SuggestionService.java" + line="49" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public SuggestionService getService() {" + errorLine2=" ~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/suggestion/service/SuggestionService.java" + line="171" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public CharSequence terminateToken(CharSequence text) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/suggestion/util/SuggestionTokenizer.java" + line="16" + column="25"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Dialog getDialog() {" + errorLine2=" ~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SummaryEditTextPreference.java" + line="101" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getHint() {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SummaryEditTextPreference.java" + line="210" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" protected Parcelable onSaveInstanceState() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SummaryEditTextPreference.java" + line="230" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public SavedState createFromParcel(Parcel in) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SummaryEditTextPreference.java" + line="271" + column="39"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public SavedState[] newArray(int size) {" + errorLine2=" ~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/SummaryEditTextPreference.java" + line="275" + column="41"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Tag fromJSON(JSONObject json, long siteID) {" + errorLine2=" ~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/Tag.java" + line="22" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static List<Tag> tagListFromJSON(JSONArray jsonArray, long siteID) {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/Tag.java" + line="33" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getTag() {" + errorLine2=" ~~~~~~"> + file="src/main/java/org/wordpress/android/models/Tag.java" + line="48" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public View onCreateView(LayoutInflater inflater, ViewGroup container," + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/posts/TagsFragment.java" + line="75" + column="17"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public TagViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/posts/TagsRecyclerViewAdapter.java" + line="35" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static TextInputDialogFragment newInstance(String title," + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/TextInputDialogFragment.java" + line="34" + column="43"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Dialog onCreateDialog(Bundle savedInstanceState) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/TextInputDialogFragment.java" + line="56" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Object getItem(int position) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/themes/ThemeBrowserAdapter.java" + line="103" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public View getView(int position, View convertView, ViewGroup parent) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/themes/ThemeBrowserAdapter.java" + line="127" + column="17"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Filter getFilter() {" + errorLine2=" ~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/themes/ThemeBrowserAdapter.java" + line="327" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" protected FilterResults performFiltering(CharSequence constraint) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/themes/ThemeBrowserAdapter.java" + line="338" + column="37"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getSiteLoginUrl(SiteModel site) {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/themes/ThemeWebActivity.java" + line="50" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" protected static Typeface getTypefaceForTypefaceName(Context context, String typefaceName) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/TypefaceCache.java" + line="17" + column="31"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public IBinder onBind(Intent intent) {" + errorLine2=" ~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="143" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Intent getRetryUploadServiceIntent(Context context, @NonNull PostImmutableModel post," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="355" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Intent getPublishPostServiceIntent(Context context, @NonNull PostImmutableModel post," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="373" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Intent getUploadMediaServiceIntent(Context context, @NonNull ArrayList<MediaModel> mediaList," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="383" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static PostModel updatePostWithCurrentlyCompletedUploads(PostModel post) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="491" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static PostModel updatePostWithCurrentlyFailedUploads(PostModel post) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="514" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static MediaModel getPendingOrInProgressFeaturedImageUploadForPost(PostImmutableModel postModel) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="540" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static List<MediaModel> getPendingOrInProgressMediaUploadsForPost(PostImmutableModel post) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="544" + column="36"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static synchronized PostModel updatePostWithNewFeaturedImg(PostModel post, Long remoteMediaId) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="628" + column="43"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static synchronized PostModel updatePostWithMediaUrl(PostModel post, MediaModel media," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="645" + column="43"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static synchronized PostModel updatePostWithFailedMedia(PostModel post, MediaModel media," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="673" + column="43"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private PostModel updateOnePostModelWithCompletedAndFailedUploads(PostModel postModel) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="749" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private List<MediaModel> getAllFailedMediaForPost(PostModel postModel) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="909" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private List<MediaModel> filterOutRecentlyDeletedMedia(Set<MediaModel> failedMedia) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="914" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private List<MediaModel> getRetriableStandaloneMedia(SiteModel selectedSite) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/UploadService.java" + line="1108" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public BlockType getBlockType() {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/notifications/blocks/UserNoteBlock.java" + line="57" + column="22"/> - + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public View configureView(View view) {" + errorLine2=" ~~~~~~~~~~~~~"> + + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Object getViewHolder(View view) {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/notifications/blocks/UserNoteBlock.java" + line="127" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" String getUserUrl() {" + errorLine2=" ~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/notifications/blocks/UserNoteBlock.java" + line="147" + column="12"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private String getUserBlogTitle() {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/notifications/blocks/UserNoteBlock.java" + line="151" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private String getUserBlogTagline() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/notifications/blocks/UserNoteBlock.java" + line="155" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static UserSuggestion fromJSON(JSONObject json, long siteID) {" + errorLine2=" ~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/UserSuggestion.java" + line="33" + column="34"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static List<UserSuggestion> suggestionListFromJSON(JSONArray jsonArray, long siteID) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/UserSuggestion.java" + line="46" + column="40"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getUserLogin() {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/UserSuggestion.java" + line="61" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getDisplayName() {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/UserSuggestion.java" + line="65" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getImageUrl() {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/UserSuggestion.java" + line="69" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getTaxonomy() {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/models/UserSuggestion.java" + line="73" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static SQLiteDatabase getReadableDb() {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/UserSuggestionTable.java" + line="47" + column="35"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static SQLiteDatabase getWritableDb() {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/UserSuggestionTable.java" + line="51" + column="35"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static List<UserSuggestion> getSuggestionsForSite(long siteId) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/UserSuggestionTable.java" + line="86" + column="40"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static UserSuggestion getSuggestionFromCursor(Cursor c) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/datasets/UserSuggestionTable.java" + line="111" + column="35"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public UsernameChangerRecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/accounts/signup/UsernameChangerRecyclerViewAdapter.java" + line="36" + column="58"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private Context getContext() {" + errorLine2=" ~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/VideoOptimizer.java" + line="47" + column="21"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" protected Context getContext() {" + errorLine2=" ~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/uploads/VideoOptimizerBase.java" + line="43" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String errStringFromVolleyError(VolleyError volleyError) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/VolleyUtils.java" + line="21" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static JSONObject volleyErrorToJSON(VolleyError volleyError) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/VolleyUtils.java" + line="40" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Context getThemedContext(Context context) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPActivityUtils.java" + line="98" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static List<ResolveInfo> queryEmailApps(@NonNull Context context, Boolean excludeCategoryEmailApps) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPActivityUtils.java" + line="132" + column="38"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String rewriteAvatarUrl(@NonNull final String imageUrl, int avatarSz," + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPAvatarUtils.java" + line="38" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String rewriteAvatarUrl(@NonNull final String imageUrl, int avatarSz) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPAvatarUtils.java" + line="62" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String rewriteAvatarUrl(@NonNull final String imageUrl, int avatarSz," + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPAvatarUtils.java" + line="66" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String rewriteAvatarUrl(@NonNull final String imageUrl, int avatarSz," + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPAvatarUtils.java" + line="71" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private Map<String, Object> serializeJetpackProtectAndSsoParams() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/WPComSiteSettings.java" + line="897" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private CategoryModel deserializeCategoryFromJson(JSONObject category) throws JSONException {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/WPComSiteSettings.java" + line="924" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private CategoryModel[] deserializeCategoryRestResponse(JSONObject response) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/WPComSiteSettings.java" + line="938" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static WPDialogSnackbar make(@NonNull View view, @NonNull CharSequence text, int duration) {" + errorLine2=" ~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPDialogSnackbar.java" + line="78" + column="36"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public WPDialogSnackbar setTitle(@NonNull CharSequence text) {" + errorLine2=" ~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPDialogSnackbar.java" + line="100" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static WPLinkMovementMethod getInstance() {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPLinkMovementMethod.java" + line="25" + column="40"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static String fixTappedUrl(Spannable buffer) {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPLinkMovementMethod.java" + line="44" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private CreatePageDashboardSource getCreatePageDashboardSourceFromActionType(ActionType actionType) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/main/WPMainActivity.java" + line="782" + column="39"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private MySiteFragment getMySiteFragment() {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/main/WPMainActivity.java" + line="1411" + column="28"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private NotificationsListFragment getNotificationsListFragment() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/main/WPMainActivity.java" + line="1429" + column="39"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String wpme_dec2sixtwo(double num) {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMeShortlinks.java" + line="26" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getPostShortlink(SiteModel site, PostImmutableModel post) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMeShortlinks.java" + line="62" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Uri getOptimizedMedia(Context context, String path, boolean isVideo) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="64" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Uri fixOrientationIssue(Context context, String path, boolean isVideo) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="100" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Plan getSitePlanForMimeTypes(SiteModel site) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="226" + column="24"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Intent preparePictureLibraryIntent(Context context, boolean multiSelect) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="252" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Intent prepareVideoLibraryIntent(Context context, boolean multiSelect) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="257" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Intent prepareMediaLibraryIntent(Context context, boolean multiSelect) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="262" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Intent prepareIntent(Context context, boolean multiSelect, String action, String intentType," + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="267" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Intent prepareChooserIntent(" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Intent prepareVideoCameraIntent() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="297" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Intent prepareGalleryIntent(String title) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="307" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Intent prepareLaunchCamera(Context context, String applicationId, LaunchCameraCallback callback) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="327" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static Intent getLaunchCameraIntent(Context context, String applicationId, LaunchCameraCallback callback)" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="343" + column="27"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getVideoPressVideoPosterFromURL(String videoUrl) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="406" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static List<Uri> retrieveImageEditorResult(Intent data) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="510" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static List<Uri> convertEditImageOutputToListOfUris(List<EditImageData.OutputData> data) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="519" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static List<Uri> retrieveMediaUris(Intent data) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="527" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static ArrayList<EditImageData.InputData> createListOfEditImageInputData(Context ctx, List<Uri> uris) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="541" + column="54"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getFileExtension(Context ctx, Uri uri) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPMediaUtils.java" + line="550" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private static AppPrefs.PrefKey getPermissionAskedKey(@NonNull String permission) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPPermissionUtils.java" + line="178" + column="37"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getPermissionName(@NonNull Context context, @NonNull String permission) {" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPPermissionUtils.java" + line="205" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Preference getPrefAndSetClickListener(PreferenceFragment prefFrag," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPPrefUtils.java" + line="16" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static Preference getPrefAndSetChangeListener(PreferenceFragment prefFrag," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPPrefUtils.java" + line="29" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static PrefType fromInt(int value) {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="48" + column="32"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private PrefListItem getFirstSelectedItem() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="123" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public PrefListItems getList() {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="182" + column="30"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Parcelable onSaveInstanceState() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="250" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getTextEntry() {" + errorLine2=" ~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="322" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public PrefListItem getSelectedItem() {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="347" + column="25"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public PrefListItems getSelectedItems() {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="351" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private Dialog getTextDialog() {" + errorLine2=" ~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="386" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private Dialog getCheckListDialog() {" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="414" + column="20"/> - - + + + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="439" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static WPPrefDialogFragment newInstance(@NonNull WPPrefView prefView) {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="472" + column="44"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public Dialog onCreateDialog(Bundle savedInstanceState) {" + errorLine2=" ~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPPrefView.java" + line="498" + column="23"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getHint() {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/WPPreference.java" + line="82" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static SwipeToRefreshHelper buildSwipeToRefreshHelper(" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPSwipeToRefreshHelper.java" + line="27" + column="40"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private Switch getSwitch(ViewGroup parentView) {" + errorLine2=" ~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/WPSwitchPreference.java" + line="88" + column="20"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public String getHint() {" + errorLine2=" ~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/WPSwitchPreference.java" + line="111" + column="19"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" private CharSequence replaceCharacter(CharSequence source, int charIndex, CharSequence replacement) {" + errorLine2=" ~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPTextView.java" + line="72" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String buildTermsOfServiceUrl(Context context) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPUrlUtils.java" + line="33" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static MediaComposer getVideoOptimizationComposer(@NonNull Context ctx, @NonNull String inputFile," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPVideoUtils.java" + line="48" + column="33"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" protected WebViewClient createWebViewClient(List<String> allowedURL) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/WPWebViewActivity.java" + line="644" + column="29"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getAuthenticationPostData(String authenticationUrl, String urlToLoad, String username," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/WPWebViewActivity.java" + line="799" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public static String getSiteLoginUrl(SiteModel site) {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/WPWebViewActivity.java" + line="832" + column="26"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public WebResourceResponse shouldInterceptRequest(WebView view, String stringUrl) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/WPWebViewClient.java" + line="66" + column="32"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" @Override public AndroidInjector<Object> androidInjector() {" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/WordPressApp.java" + line="23" + column="46"/> + id="MissingNullAnnotationOnMethodReturnType" + message="Missing null annotation" + errorLine1=" public SQLiteDatabase getDatabase() {" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/WordPressDB.java" + line="194" + column="27"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + file="src/main/res/layout/reader_listitem_comment.xml" + line="155" + column="25"/> + id="UseAppTint" + message="Must use `app:tint` instead of `android:tint`" + errorLine1=" android:tint="?attr/wpColorOnSurfaceMedium"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/res/layout/reader_listitem_comment.xml" + line="194" + column="25"/> + id="UseAppTint" + message="Must use `app:tint` instead of `android:tint`" + errorLine1=" android:tint="?attr/colorOnSurface" />" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/res/layout/site_creation_intents_titlebar.xml" + line="14" + column="9"/> - - - - - - - - - - - - @@ -5644,28 +65649,6 @@ column="9"/> - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + errorLine1=" mPeopleAdapter.notifyDataSetChanged();" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + line="277" + column="9"/> - - - - - - - - @@ -5959,7 +65986,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> @@ -5970,7 +65997,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> @@ -5981,7 +66008,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> @@ -5992,21 +66019,10 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> - - - - - - - - + + + + + + + + - - - - - - - - + id="UnusedResources" + message="The resource `R.color.aztec_format_button_selector_color` appears to be unused" + errorLine1="<selector xmlns:android="http://schemas.android.com/apk/res/android">" + errorLine2="^"> + file="src/main/res/color/aztec_format_button_selector_color.xml" + line="2" + column="1"/> + id="UnusedResources" + message="The resource `R.color.title_color` appears to be unused" + errorLine1=" <color name="title_color">@color/text</color>" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/main/res/values-night/colors_aztec.xml" + line="6" + column="12"/> + id="UnusedResources" + message="The resource `R.color.media_button_background_tint_selector` appears to be unused" + errorLine1=" <color name="media_button_background_tint_selector">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/res/values-night/colors_aztec.xml" + line="12" + column="12"/> + id="UnusedResources" + message="The resource `R.dimen.promo_indicator_bullet_size` appears to be unused" + errorLine1=" <dimen name="promo_indicator_bullet_size">4dp</dimen>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/res/values/dimens.xml" + line="406" + column="12"/> + id="UnusedResources" + message="The resource `R.color.primary_on_surface_disabled_selector` appears to be unused" + errorLine1="<selector xmlns:android="http://schemas.android.com/apk/res/android">" + errorLine2="^"> + file="src/main/res/color/primary_on_surface_disabled_selector.xml" + line="2" + column="1"/> + id="UnusedResources" + message="The resource `R.style.DividerSourceView` appears to be unused" + errorLine1=" <style name="DividerSourceView">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/res/values-night/styles.xml" + line="128" + column="12"/> + id="UnusedResources" + message="The resource `R.style.FormatBarButton` appears to be unused" + errorLine1=" <style name="FormatBarButton">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/res/values/styles.xml" + line="1281" + column="12"/> + id="UnusedResources" + message="The resource `R.style.Widget_LoginFlow_Toolbar` appears to be unused" + errorLine1=" <style name="Widget.LoginFlow.Toolbar" parent="Widget.MaterialComponents.Toolbar.Surface">" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/res/values/styles_toolbar.xml" + line="5" + column="12"/> + id="UsableSpace" + message="Consider also using `StorageManager#getAllocatableBytes` and `allocateBytes` which will consider clearable cached data" + errorLine1=" return (appContext.cacheDir.usableSpace * FULL_STORAGE_PERCENTAGE /" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/StorageUtilsProvider.kt" + line="54" + column="37"/> + id="IconDensities" + message="Missing the following drawables in `drawable-hdpi`: illustration_reader_empty.png, rppreview1.png, rppreview2.png, rppreview3.png"> + file="src/main/res/drawable-hdpi"/> + id="IconDensities" + message="Missing the following drawables in `drawable-mdpi`: bg_rectangle_total_stats_line_chart_blue_gradient.xml, btn_cab_done_default_wordpress.9.png, btn_cab_done_focused_wordpress.9.png, btn_cab_done_pressed_wordpress.9.png, gallery_icon_circles.png... (18 more)"> + file="src/main/res/drawable-mdpi"/> + id="IconDensities" + message="Missing the following drawables in `drawable-xhdpi`: bg_rectangle_total_stats_line_chart_blue_gradient.xml (found in drawable-hdpi)"> + file="src/main/res/drawable-xhdpi"/> + + + + @@ -8015,11 +68031,4 @@ column="9"/> - - - - From abf5d8b46601e7946618f3446d2616d24c6b5a2d Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Fri, 27 Feb 2026 13:49:41 -0700 Subject: [PATCH 5/7] Suppress UnusedResources false positives from library modules With checkDependencies=false, lint can't see that certain resources defined in the app are used by editor/login library modules. Add targeted ignore rules in lint.xml for these specific resources instead of regenerating the entire baseline. Co-Authored-By: Claude Opus 4.6 --- config/lint/baseline.xml | 66351 ++----------------------------------- config/lint/lint.xml | 8 + 2 files changed, 3179 insertions(+), 63180 deletions(-) diff --git a/config/lint/baseline.xml b/config/lint/baseline.xml index 864ac80eaf0d..18a259cbf4e6 100644 --- a/config/lint/baseline.xml +++ b/config/lint/baseline.xml @@ -1,5 +1,5 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + errorLine1=" private val productsStore = mock<ProductsStore> { onBlocking { fetchProducts(any()) } doReturn mock() }" + errorLine2=" ~~~~~~"> + column="100"/> + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.FileDownloadsRestClient.FileDownloadsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<FileDownloadsResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + + + + + + + + + + + + + + + + + + + + @@ -690,7 +1108,7 @@ errorLine2=" ~~~~~~"> @@ -784,64396 +1202,3764 @@ + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.AllTimeInsightsRestClient.AllTimeResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<AllTimeResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.LatestPostInsightsRestClient.PostsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<PostsResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.AllTimeInsightsRestClient.AllTimeResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(AllTimeResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/InsightsRestClientTest.kt" + line="447" + column="66"/> + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.LatestPostInsightsRestClient.PostsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(PostsResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/InsightsRestClientTest.kt" + line="454" + column="64"/> + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.LatestPostInsightsRestClient.PostStatsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(PostStatsResponse::class.java, data ?: mock(), error, cachingEnabled = false)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/InsightsRestClientTest.kt" + line="461" + column="68"/> + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.TodayInsightsRestClient.VisitResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(VisitResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/InsightsRestClientTest.kt" + line="468" + column="64"/> + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.FollowersRestClient.FollowersResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(FollowersResponse::class.java, data ?: mock(), error, cachingEnabled = false)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/InsightsRestClientTest.kt" + line="475" + column="68"/> + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.CommentsRestClient.CommentsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(CommentsResponse::class.java, data ?: mock(), error, cachingEnabled = false)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/InsightsRestClientTest.kt" + line="482" + column="67"/> + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.TagsRestClient.TagsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(TagsResponse::class.java, data ?: mock(), error, cachingEnabled = false)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/InsightsRestClientTest.kt" + line="489" + column="63"/> + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.PublicizeRestClient.PublicizeResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(PublicizeResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/InsightsRestClientTest.kt" + line="496" + column="68"/> + message="'org.wordpress.android.fluxc.model.stats.InsightsAllTimeModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<InsightsAllTimeModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="159" + column="21"/> + message="'org.wordpress.android.fluxc.model.stats.InsightsAllTimeModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<InsightsAllTimeModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="187" + column="21"/> + message="'org.wordpress.android.fluxc.model.stats.InsightsLatestPostModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<InsightsLatestPostModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="211" + column="21"/> + message="'org.wordpress.android.fluxc.model.stats.InsightsLatestPostModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<InsightsLatestPostModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="227" + column="21"/> + message="'org.wordpress.android.fluxc.model.stats.VisitsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<VisitsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="296" + column="21"/> + message="'org.wordpress.android.fluxc.model.stats.VisitsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<VisitsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + message="'org.wordpress.android.fluxc.model.stats.FollowersModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<FollowersModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + message="'org.wordpress.android.fluxc.model.stats.FollowersModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<FollowersModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + message="'org.wordpress.android.fluxc.model.stats.CommentsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<CommentsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="445" + column="21"/> + message="'org.wordpress.android.fluxc.model.stats.CommentsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<CommentsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="457" + column="21"/> + message="'org.wordpress.android.fluxc.model.stats.TagsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<TagsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="490" + column="21"/> + message="'org.wordpress.android.fluxc.model.stats.TagsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<TagsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="502" + column="21"/> + message="'org.wordpress.android.fluxc.model.stats.PublicizeModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<PublicizeModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="535" + column="21"/> + message="'org.wordpress.android.fluxc.model.stats.PublicizeModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<PublicizeModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/InsightsStoreTest.kt" + line="547" + column="21"/> + message="'org.wordpress.android.ui.people.InviteLinksApiCallsProvider.InviteLinksItem' is a data class, so mocking it should not be necessary" + errorLine1=" links = listOf(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/people/InviteLinksHandlerTest.kt" + line="68" + column="28"/> + message="'org.wordpress.android.ui.people.InviteLinksApiCallsProvider.InviteLinksItem' is a data class, so mocking it should not be necessary" + errorLine1=" links = listOf(mock(), mock())" + errorLine2=" ~~~~~~"> - - - - - - - - - - - - + file="src/test/java/org/wordpress/android/ui/people/InviteLinksHandlerTest.kt" + line="68" + column="36"/> - - - - - - - - - - - - - - - - - - - - + errorLine1=" links = listOf(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/people/InviteLinksHandlerTest.kt" + line="88" + column="28"/> + message="'org.wordpress.android.ui.people.InviteLinksApiCallsProvider.InviteLinksItem' is a data class, so mocking it should not be necessary" + errorLine1=" links = listOf(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/people/InviteLinksHandlerTest.kt" + line="88" + column="36"/> + message="'org.wordpress.android.ui.people.InviteLinksApiCallsProvider.InviteLinksItem' is a data class, so mocking it should not be necessary" + errorLine1=" val inviteLinks = listOf<InviteLinksItem>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/people/usecases/InviteLinksUseCaseTest.kt" + line="92" + column="51"/> + message="'org.wordpress.android.ui.people.InviteLinksApiCallsProvider.InviteLinksItem' is a data class, so mocking it should not be necessary" + errorLine1=" val inviteLinks = listOf<InviteLinksItem>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/people/usecases/InviteLinksUseCaseTest.kt" + line="92" + column="59"/> + message="'org.wordpress.android.ui.people.InviteLinksApiCallsProvider.InviteLinksItem' is a data class, so mocking it should not be necessary" + errorLine1=" val inviteLinks = listOf<InviteLinksItem>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/people/usecases/InviteLinksUseCaseTest.kt" + line="124" + column="51"/> + message="'org.wordpress.android.ui.people.InviteLinksApiCallsProvider.InviteLinksItem' is a data class, so mocking it should not be necessary" + errorLine1=" val inviteLinks = listOf<InviteLinksItem>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/people/usecases/InviteLinksUseCaseTest.kt" + line="124" + column="59"/> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.Text' is a data class, so mocking it should not be necessary" + errorLine1=" val textItem = mock<Text>()" + errorLine2=" ~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/LatestPostSummaryUseCaseTest.kt" + line="138" + column="24"/> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.Text' is a data class, so mocking it should not be necessary" + errorLine1=" val textItem = mock<Text>()" + errorLine2=" ~~~~~~~~~~~~"> - - - - - - - - - - - - - - - - - - - - - - - - + column="24"/> + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.BarChartItem' is a data class, so mocking it should not be necessary" + errorLine1=" val chartItem = mock<BarChartItem>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/LatestPostSummaryUseCaseTest.kt" + line="176" + column="25"/> + message="'org.wordpress.android.fluxc.tools.FormattableContent' is a data class, so mocking it should not be necessary" + errorLine1=" val content = mock<FormattableContent>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + column="23"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.main.MainActionListItem.AnswerBloggingPromptAction' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MainActionListItem.AnswerBloggingPromptAction>()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/main/analytics/MainCreateSheetTrackerTest.kt" + line="258" + column="13"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.main.MainActionListItem.CreateAction' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MainActionListItem.CreateAction>()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/main/analytics/MainCreateSheetTrackerTest.kt" + line="259" + column="13"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.main.MainActionListItem.CreateAction' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MainActionListItem.CreateAction>()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/main/analytics/MainCreateSheetTrackerTest.kt" + line="260" + column="13"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.main.MainActionListItem.CreateAction' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MainActionListItem.CreateAction>()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/main/analytics/MainCreateSheetTrackerTest.kt" + line="269" + column="13"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.main.MainActionListItem.CreateAction' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MainActionListItem.CreateAction>()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/main/analytics/MainCreateSheetTrackerTest.kt" + line="270" + column="13"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.mediapicker.loader.MediaLoader' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mediapicker/MediaPickerViewModelTest.kt" + line="79" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mediapicker/MediaPickerViewModelTest.kt" + line="91" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mediapicker/MediaPickerViewModelTest.kt" + line="94" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords.ApplicationPasswordsConfiguration' is a data class, so mocking it should not be necessary" + errorLine1=" Mockito.mock(org.wordpress.android.fluxc.network.rest.wpapi.applicationpasswords" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/fluxc/media/MediaStoreTest.java" + line="53" + column="13"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.mobilepay.MobilePayRestClient.CreateOrderResponseType' is a data class, so mocking it should not be necessary" + errorLine1=" val nonNullData = data ?: mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/mobilepay/MobilePayRestClientTest.kt" + line="342" + column="35"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.InsightsMostPopularModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<InsightsMostPopularModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/insights/MostPopularInsightsStoreTest.kt" + line="52" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.InsightsMostPopularModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<InsightsMostPopularModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/insights/MostPopularInsightsStoreTest.kt" + line="80" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.YearsInsightsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<YearsInsightsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/insights/MostPopularInsightsStoreTest.kt" + line="95" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.YearsInsightsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<YearsInsightsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/insights/MostPopularInsightsStoreTest.kt" + line="107" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.MostPopularRestClient.MostPopularResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<MostPopularResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/insights/MostPopularRestClientTest.kt" + line="61" + column="24"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.MostPopularRestClient.MostPopularResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = if (error != null) Error<MostPopularResponse>(error) else Success(data ?: mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/insights/MostPopularRestClientTest.kt" + line="96" + column="98"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.blaze.BlazeCampaignModel' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(store.getMostRecentBlazeCampaign(siteModel)).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/blaze/MostRecentCampaignUseCaseTest.kt" + line="46" + column="74"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mysite/MySiteUiStateTest.kt" + line="19" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.store.ProductsStore.FetchProductsError' is a data class, so mocking it should not be necessary" + errorLine1=" ProductsStore.OnProductsFetched(error = mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/domains/management/newdomainsearch/domainsfetcher/NewDomainsSearchRepositoryTest.kt" + line="275" + column="53"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.store.SiteStore.SuggestDomainError' is a data class, so mocking it should not be necessary" + errorLine1=" SiteStore.OnSuggestedDomains("query", emptyList()).apply { error = mock() }" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/domains/management/newdomainsearch/domainsfetcher/NewDomainsSearchRepositoryTest.kt" + line="304" + column="80"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.mysite.MySiteCardAndItem.Card.ActivityCard.ActivityCardWithItems' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MySiteCardAndItem.Card.ActivityCard.ActivityCardWithItems>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/nocards/NoCardsMessageViewModelSliceTest.kt" + line="67" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.mysite.MySiteCardAndItem.Card.QuickStartCard' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MySiteCardAndItem.Card.QuickStartCard>().apply {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/nocards/NoCardsMessageViewModelSliceTest.kt" + line="81" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.mysite.MySiteCardAndItem.Card.DomainRegistrationCard' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MySiteCardAndItem.Card.DomainRegistrationCard>().apply {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/nocards/NoCardsMessageViewModelSliceTest.kt" + line="83" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.mysite.MySiteCardAndItem.Card.ActivityCard.ActivityCardWithItems' is a data class, so mocking it should not be necessary" + errorLine1=" mock<MySiteCardAndItem.Card.ActivityCard.ActivityCardWithItems>().apply {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/nocards/NoCardsMessageViewModelSliceTest.kt" + line="85" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" val navigateAction = notificationsLinkHandler.buildNavigateAction(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/deeplinks/handlers/NotificationsLinkHandlerTest.kt" + line="53" + column="75"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.Columns' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/granular/usecases/OverviewUseCaseTest.kt" + line="64" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.ValueItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/granular/usecases/OverviewUseCaseTest.kt" + line="67" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.BarChartItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/granular/usecases/OverviewUseCaseTest.kt" + line="70" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="74" + column="85"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="88" + column="85"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="103" + column="85"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="118" + column="85"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + column="81"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="141" + column="81"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PagesCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val pagesCardParams = pagesCardViewModelSlice.getPagesCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/pages/PagesCardViewModelSliceTest.kt" + line="157" + column="81"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.people.InviteLinksApiCallsProvider.InviteLinksItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/people/PeopleInviteViewModelTest.kt" + line="56" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/photopicker/PhotoPickerViewModelTest.kt" + line="43" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/photopicker/PhotoPickerViewModelTest.kt" + line="46" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.PlanOffersDao.PlanOfferId' is a data class, so mocking it should not be necessary" + errorLine1=" planIds = if (emptyPlanIds) emptyList() else listOf(mock(), mock())," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/planoffers/PlanOffersFixtures.kt" + line="82" + column="65"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.PlanOffersDao.PlanOfferId' is a data class, so mocking it should not be necessary" + errorLine1=" planIds = if (emptyPlanIds) emptyList() else listOf(mock(), mock())," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/planoffers/PlanOffersFixtures.kt" + line="82" + column="73"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.PlanOffersDao.PlanOfferFeature' is a data class, so mocking it should not be necessary" + errorLine1=" planFeatures = if (emptyPlanFeatures) emptyList() else listOf(mock(), mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/planoffers/PlanOffersFixtures.kt" + line="83" + column="75"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.PlanOffersDao.PlanOfferFeature' is a data class, so mocking it should not be necessary" + errorLine1=" planFeatures = if (emptyPlanFeatures) emptyList() else listOf(mock(), mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/planoffers/PlanOffersFixtures.kt" + line="83" + column="83"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.PlanOffersDao.PlanOfferFeature' is a data class, so mocking it should not be necessary" + errorLine1=" planFeatures = if (emptyPlanFeatures) emptyList() else listOf(mock(), mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/planoffers/PlanOffersFixtures.kt" + line="83" + column="91"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.plans.PlanOffersModel.Feature' is a data class, so mocking it should not be necessary" + errorLine1=" features = if (emptyFeatures) null else listOf(mock(), mock())," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/planoffers/PlanOffersFixtures.kt" + line="93" + column="60"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.plans.PlanOffersModel.Feature' is a data class, so mocking it should not be necessary" + errorLine1=" features = if (emptyFeatures) null else listOf(mock(), mock())," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/planoffers/PlanOffersFixtures.kt" + line="93" + column="68"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.mysite.MySiteCardAndItem.Card.DashboardPlansCard' is a data class, so mocking it should not be necessary" + errorLine1=" val card = mock<MySiteCardAndItem.Card.DashboardPlansCard>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/plans/PlansCardViewModelSliceTest.kt" + line="61" + column="20"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpapi.plugin.PluginResponseModel' is a data class, so mocking it should not be necessary" + errorLine1=" val response = if (error != null) Error(error) else Success(data ?: mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpapi/plugin/PluginWPApiRestClientTest.kt" + line="199" + column="77"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpapi.plugin.PluginResponseModel' is a data class, so mocking it should not be necessary" + errorLine1=" val response = if (error != null) Error(error) else Success(data ?: mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpapi/plugin/PluginWPApiRestClientTest.kt" + line="216" + column="77"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpapi.plugin.PluginResponseModel' is a data class, so mocking it should not be necessary" + errorLine1=" val response = if (error != null) Error(error) else Success(data ?: mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpapi/plugin/PluginWPApiRestClientTest.kt" + line="233" + column="77"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.PostAndPageViewsRestClient.PostAndPageViewsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<PostAndPageViewsResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/time/PostAndPageViewsRestClientTest.kt" + line="113" + column="24"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.PostAndPageViewsRestClient.PostAndPageViewsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(PostAndPageViewsResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/time/PostAndPageViewsRestClientTest.kt" + line="154" + column="75"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.PostAndPageViewsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<PostAndPageViewsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/PostAndPageViewsStoreTest.kt" + line="61" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.PostAndPageViewsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<PostAndPageViewsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/PostAndPageViewsStoreTest.kt" + line="74" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.PostAndPageViewsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<PostAndPageViewsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/PostAndPageViewsStoreTest.kt" + line="106" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.ValueItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/detail/PostDayViewsUseCaseTest.kt" + line="61" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.BarChartItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/detail/PostDayViewsUseCaseTest.kt" + line="64" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.PostDetailStatsModel' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/detail/PostDayViewsUseCaseTest.kt" + line="67" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.PostDetailStatsModel' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/detail/PostDayViewsUseCaseTest.kt" + line="70" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.PostDetailStatsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<PostDetailStatsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/PostDetailStoreTest.kt" + line="52" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.PostDetailStatsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<PostDetailStatsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/PostDetailStoreTest.kt" + line="80" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.PostingActivityRestClient.PostingActivityResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = if (error != null) Response.Error<PostingActivityResponse>(error) else Success(data ?: mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/insights/PostingActivityRestClientTest.kt" + line="113" + column="111"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.insights.PostingActivityModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<PostingActivityModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/insights/PostingActivityStoreTest.kt" + line="54" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.insights.PostingActivityModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<PostingActivityModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/insights/PostingActivityStoreTest.kt" + line="82" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="76" + column="76"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="95" + column="76"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="113" + column="72"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="130" + column="72"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="144" + column="72"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="158" + column="76"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="174" + column="72"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="188" + column="72"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="203" + column="72"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.PostsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = postsCardViewModelSlice.getPostsCardBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/posts/PostsCardViewModelSliceTest.kt" + line="217" + column="72"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.BloggingRemindersModel' is a data class, so mocking it should not be necessary" + errorLine1=" private val bloggingReminder: BloggingRemindersModel = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/workers/reminder/PromptReminderNotifierTest.kt" + line="38" + column="60"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.ListItemWithIcon' is a data class, so mocking it should not be necessary" + errorLine1=" val mockedItem = mock<ListItemWithIcon>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.ListItemWithIcon' is a data class, so mocking it should not be necessary" + errorLine1=" val mockedItem = mock<ListItemWithIcon>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.qrcodeauth.QRCodeAuthRestClient.QRCodeAuthValidateResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val nonNullData = data ?: mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/qrcodeauth/QRCodeAuthRestClientTest.kt" + line="270" + column="35"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.qrcodeauth.QRCodeAuthRestClient.QRCodeAuthAuthenticateResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val nonNullData = data ?: mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/qrcodeauth/QRCodeAuthRestClientTest.kt" + line="292" + column="35"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.discover.ReaderNavigationEvents.OpenEditorForReblog' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(reblogUseCase.convertReblogStateToNavigationEvent(anyOrNull())).thenReturn(mock<OpenEditorForReblog>())" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverViewModelTest.kt" + line="200" + column="93"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.discover.ReaderCardUiState.ReaderPostUiState.GalleryThumbnailStripData' is a data class, so mocking it should not be necessary" + errorLine1=" thumbnailStripSection = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverViewModelTest.kt" + line="711" + column="37"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.usecases.ReaderSiteFollowUseCase.FollowSiteState.FollowStatusChanged' is a data class, so mocking it should not be necessary" + errorLine1=" .thenReturn(flowOf(mock<FollowStatusChanged>()))" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderPostCardActionsHandlerTest.kt" + line="294" + column="32"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.usecases.ReaderSiteFollowUseCase.FollowSiteState.FollowStatusChanged' is a data class, so mocking it should not be necessary" + errorLine1=" .thenReturn(flowOf(mock<FollowStatusChanged>()))" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderPostCardActionsHandlerTest.kt" + line="313" + column="32"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.views.uistates.ReaderPostDetailsHeaderViewUiState.ReaderPostDetailsHeaderUiState' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(headerViewUiStateBuilder.mapPostToUiState(any(), any())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/ReaderPostDetailUiStateBuilderTest.kt" + line="363" + column="86"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.discover.ReaderPostActions' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(postUiStateBuilder.mapPostToActions(any(), any())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/ReaderPostDetailUiStateBuilderTest.kt" + line="364" + column="80"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.discover.ReaderNavigationEvents.OpenEditorForReblog' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(reblogUseCase.convertReblogStateToNavigationEvent(anyOrNull())).thenReturn(mock<OpenEditorForReblog>())" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderPostDetailViewModelTest.kt" + line="329" + column="93"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.avatars.TrainOfAvatarsItem.AvatarItem' is a data class, so mocking it should not be necessary" + errorLine1=" val likers = MutableList(5) { mock<AvatarItem>() }" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderPostDetailViewModelTest.kt" + line="1014" + column="39"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.viewmodels.ReaderPostDetailViewModel.UiState.ReaderPostDetailsUiState.ReaderPostFeaturedImageUiState' is a data class, so mocking it should not be necessary" + errorLine1=" featuredImageUiState = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderPostDetailViewModelTest.kt" + line="1179" + column="36"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.viewmodels.ReaderPostDetailViewModel.UiState.ReaderPostDetailsUiState.ExcerptFooterUiState' is a data class, so mocking it should not be necessary" + errorLine1=" excerptFooterUiState = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderPostDetailViewModelTest.kt" + line="1211" + column="36"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.views.compose.ReaderAnnouncementCardItemData' is a data class, so mocking it should not be necessary" + errorLine1=" items = listOf(mock(), mock())," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/tagsfeed/ReaderTagsFeedUiStateMapperTest.kt" + line="350" + column="28"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.views.compose.ReaderAnnouncementCardItemData' is a data class, so mocking it should not be necessary" + errorLine1=" items = listOf(mock(), mock())," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/tagsfeed/ReaderTagsFeedUiStateMapperTest.kt" + line="350" + column="36"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.views.compose.ReaderAnnouncementCardItemData' is a data class, so mocking it should not be necessary" + errorLine1=" val announcementItems = listOf<ReaderAnnouncementCardItemData>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderTagsFeedViewModelTest.kt" + line="159" + column="72"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.views.compose.ReaderAnnouncementCardItemData' is a data class, so mocking it should not be necessary" + errorLine1=" val announcementItems = listOf<ReaderAnnouncementCardItemData>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderTagsFeedViewModelTest.kt" + line="159" + column="80"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.views.compose.ReaderAnnouncementCardItemData' is a data class, so mocking it should not be necessary" + errorLine1=" val announcementItems = listOf<ReaderAnnouncementCardItemData>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderTagsFeedViewModelTest.kt" + line="178" + column="72"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.views.compose.ReaderAnnouncementCardItemData' is a data class, so mocking it should not be necessary" + errorLine1=" val announcementItems = listOf<ReaderAnnouncementCardItemData>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderTagsFeedViewModelTest.kt" + line="178" + column="80"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.ReferrersRestClient.UnparsedReferrersResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<UnparsedReferrersResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/time/ReferrersRestClientTest.kt" + line="177" + column="24"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.ReferrersRestClient.UnparsedReferrersResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initGetResponse(UnparsedReferrersResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/time/ReferrersRestClientTest.kt" + line="290" + column="79"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.ReferrersModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<ReferrersModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/ReferrersStoreTest.kt" + line="64" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.ReferrersModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<ReferrersModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/ReferrersStoreTest.kt" + line="77" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.ReferrersModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<ReferrersModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/ReferrersStoreTest.kt" + line="107" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.scan.ScanStateResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val nonNullData = data ?: mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/scan/ScanRestClientTest.kt" + line="415" + column="35"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.scan.ScanStartResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val nonNullData = data ?: mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/scan/ScanRestClientTest.kt" + line="441" + column="35"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.scan.threat.FixThreatsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val nonNullData = data ?: mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/scan/ScanRestClientTest.kt" + line="462" + column="35"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.scan.threat.FixThreatsStatusResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val nonNullData = data ?: mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/scan/ScanRestClientTest.kt" + line="500" + column="35"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.jetpack.common.JetpackListItemState.DescriptionState' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(threatDetailsListItemsBuilder.buildFixableThreatDescription(any())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/builders/ScanStateListItemsBuilderTest.kt" + line="180" + column="97"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.scan.threat.ThreatModel.Fixable' is a data class, so mocking it should not be necessary" + errorLine1=" val threats = listOf(threat.copy(baseThreatModel = baseThreatModel.copy(fixable = mock())))" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/builders/ScanStateListItemsBuilderTest.kt" + line="277" + column="91"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.scan.threat.ThreatModel.Fixable' is a data class, so mocking it should not be necessary" + errorLine1=" val threats = listOf(threat.copy(baseThreatModel = baseThreatModel.copy(fixable = mock())))" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/builders/ScanStateListItemsBuilderTest.kt" + line="668" + column="95"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.scan.threat.ThreatModel.Fixable' is a data class, so mocking it should not be necessary" + errorLine1=" mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/ScanStoreTest.kt" + line="73" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.scan.ScanStateModel' is a data class, so mocking it should not be necessary" + errorLine1=" val scanStateModel = mock<ScanStateModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/ScanStoreTest.kt" + line="127" + column="30"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.scan.ScanStateModel' is a data class, so mocking it should not be necessary" + errorLine1=" val scanStateModel = mock<ScanStateModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/ScanStoreTest.kt" + line="150" + column="30"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.scan.ScanStateModel' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(fetchScanStateUseCase.fetchScanState(site)).thenReturn(flowOf(Success(mock())))" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/ScanViewModelTest.kt" + line="699" + column="92"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.SearchTermsRestClient.SearchTermsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<SearchTermsResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/time/SearchTermsRestClientTest.kt" + line="113" + column="24"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.SearchTermsRestClient.SearchTermsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(SearchTermsResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/time/SearchTermsRestClientTest.kt" + line="154" + column="70"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.SearchTermsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<SearchTermsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/SearchTermsStoreTest.kt" + line="62" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.SearchTermsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<SearchTermsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/SearchTermsStoreTest.kt" + line="75" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.SearchTermsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<SearchTermsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/SearchTermsStoreTest.kt" + line="105" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.sitecreation.domains.DomainModel' is a data class, so mocking it should not be necessary" + errorLine1=" viewModel.onDomainSelected(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/sitecreation/domains/SiteCreationDomainsViewModelTest.kt" + line="349" + column="36"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.store.ProductsStore.OnProductsFetched' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(productsStore.fetchProducts(any())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/sitecreation/domains/SiteCreationDomainsViewModelTest.kt" + line="358" + column="65"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.sitecreation.domains.DomainModel' is a data class, so mocking it should not be necessary" + errorLine1=" private fun mockDomain(name: String = "", free: Boolean = true) = mock<DomainModel> {" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/sitecreation/domains/SiteCreationDomainsViewModelTest.kt" + line="613" + column="71"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.transactions.TransactionsRestClient.CreateShoppingCartResponse' is a data class, so mocking it should not be necessary" + errorLine1="val CART_SUCCESS = OnShoppingCartCreated(mock<CreateShoppingCartResponse>())" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/sitecreation/SiteCreationFixtures.kt" + line="57" + column="42"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.store.TransactionsStore.CreateShoppingCartError' is a data class, so mocking it should not be necessary" + errorLine1="val CART_ERROR = OnShoppingCartCreated(mock<CreateShoppingCartError>())" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/sitecreation/SiteCreationFixtures.kt" + line="58" + column="40"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.site.SiteHomepageRestClient.UpdateHomepageResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(UpdateHomepageResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/site/SiteHomepageRestClientTest.kt" + line="152" + column="73"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.sitemonitor.SiteMonitorUiState.GenericError' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(mapper.toGenericError(any())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/sitemonitor/SiteMonitorTabViewModelSliceTest.kt" + line="52" + column="59"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.sitemonitor.SiteMonitorUiState.NoNetworkError' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(mapper.toNoNetworkError(any())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/sitemonitor/SiteMonitorTabViewModelSliceTest.kt" + line="53" + column="61"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.sitemonitor.SiteMonitorUiState.Prepared' is a data class, so mocking it should not be necessary" + errorLine1=" whenever(mapper.toPrepared(any(), any(), any())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/sitemonitor/SiteMonitorTabViewModelSliceTest.kt" + line="54" + column="69"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.WPComGsonRequestBuilder.Response.Success' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock lateinit var successResponse: Response.Success<UpdateHomepageResponse>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/SiteOptionsStoreTest.kt" + line="41" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.WPComGsonRequestBuilder.Response.Error' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock lateinit var errorResponse: Response.Error<UpdateHomepageResponse>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/SiteOptionsStoreTest.kt" + line="42" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.site.SiteHomepageRestClient.UpdateHomepageResponse' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock lateinit var responseData: UpdateHomepageResponse" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/SiteOptionsStoreTest.kt" + line="43" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.site.SitesFeaturesRestResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initGetResponse(SitesFeaturesRestResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/site/SiteRestClientTest.kt" + line="645" + column="79"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.site.AllDomainsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initGetResponse(AllDomainsResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/site/SiteRestClientTest.kt" + line="652" + column="72"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.WPComGsonRequestBuilder.Response.Success' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock lateinit var domainsSuccessResponse: Response.Success<DomainsResponse>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/SiteStoreTest.kt" + line="78" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.WPComGsonRequestBuilder.Response.Success' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock lateinit var allDomainsSuccessResponse: Response.Success<AllDomainsResponse>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/SiteStoreTest.kt" + line="79" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.WPComGsonRequestBuilder.Response.Success' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock lateinit var plansSuccessResponse: Response.Success<PlansResponse>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/SiteStoreTest.kt" + line="80" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.WPComGsonRequestBuilder.Response.Error' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock lateinit var domainsErrorResponse: Response.Error<DomainsResponse>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/SiteStoreTest.kt" + line="81" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.WPComGsonRequestBuilder.Response.Error' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock lateinit var allDomainsErrorResponse: Response.Error<AllDomainsResponse>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/SiteStoreTest.kt" + line="82" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.WPComGsonRequestBuilder.Response.Error' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock lateinit var plansErrorResponse: Response.Error<PlansResponse>" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/SiteStoreTest.kt" + line="83" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" val navigateAction = startLinkHandler.buildNavigateAction(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/deeplinks/handlers/StartLinkHandlerTest.kt" + line="58" + column="67"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" val navigateAction = startLinkHandler.buildNavigateAction(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/deeplinks/handlers/StartLinkHandlerTest.kt" + line="67" + column="67"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.scan.ScanStateModel' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/usecases/StartScanUseCaseTest.kt" + line="32" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.subfilter.SubfilterListItem.Site' is a data class, so mocking it should not be necessary" + errorLine1=" val filter: Site = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModelTest.kt" + line="453" + column="28"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.reader.subfilter.SubfilterListItem.Tag' is a data class, so mocking it should not be necessary" + errorLine1=" val filter: Tag = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModelTest.kt" + line="472" + column="27"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.SubscribersChartItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/subscribers/usecases/SubscribersChartUseCaseTest.kt" + line="43" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.subscribers.SubscribersRestClient.SubscribersResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<SubscribersResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/subscribers/SubscribersRestClientTest.kt" + line="101" + column="24"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.subscribers.SubscribersRestClient.SubscribersResponse' is a data class, so mocking it should not be necessary" + errorLine1=" ) = initResponse(SubscribersResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/subscribers/SubscribersRestClientTest.kt" + line="131" + column="63"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.subscribers.SubscribersModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<SubscribersModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/subscribers/SubscribersStoreTest.kt" + line="100" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.subscribers.SubscribersModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<SubscribersModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/subscribers/SubscribersStoreTest.kt" + line="145" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.suggestion.Suggestion' is a data class, so mocking it should not be necessary" + errorLine1=" val nonEmptyList = listOf(mock<Suggestion>())" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/suggestion/SuggestionViewModelTest.kt" + line="107" + column="35"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.suggestion.Suggestion' is a data class, so mocking it should not be necessary" + errorLine1=" val nonEmptyList = listOf(mock<Suggestion>())" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/suggestion/SuggestionViewModelTest.kt" + line="129" + column="35"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.suggestion.Suggestion' is a data class, so mocking it should not be necessary" + errorLine1=" val listWithMoreThanOne = listOf<Suggestion>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/suggestion/SuggestionViewModelTest.kt" + line="217" + column="54"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.suggestion.Suggestion' is a data class, so mocking it should not be necessary" + errorLine1=" val listWithMoreThanOne = listOf<Suggestion>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/suggestion/SuggestionViewModelTest.kt" + line="217" + column="62"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.suggestion.Suggestion' is a data class, so mocking it should not be necessary" + errorLine1=" val listWithMoreThanOne = listOf<Suggestion>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/suggestion/SuggestionViewModelTest.kt" + line="237" + column="54"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.suggestion.Suggestion' is a data class, so mocking it should not be necessary" + errorLine1=" val listWithMoreThanOne = listOf<Suggestion>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/suggestion/SuggestionViewModelTest.kt" + line="237" + column="62"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.SummaryRestClient.SummaryResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<SummaryResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/insights/SummaryRestClientTest.kt" + line="62" + column="24"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.insights.SummaryRestClient.SummaryResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = if (error != null) Error(error) else Success(data ?: mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/insights/SummaryRestClientTest.kt" + line="93" + column="77"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.SummaryModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<SummaryModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/insights/SummaryStoreTest.kt" + line="45" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.SummaryModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<SummaryModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/insights/SummaryStoreTest.kt" + line="73" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.list.ListDescriptorUniqueIdentifier' is a data class, so mocking it should not be necessary" + errorLine1=" override val uniqueIdentifier: ListDescriptorUniqueIdentifier = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/list/TestListDescriptor.kt" + line="19" + column="69"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.list.ListDescriptorUniqueIdentifier' is a data class, so mocking it should not be necessary" + errorLine1=" override val uniqueIdentifier: ListDescriptorUniqueIdentifier = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/list/TestListDescriptor.kt" + line="19" + column="69"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.list.ListDescriptorTypeIdentifier' is a data class, so mocking it should not be necessary" + errorLine1=" override val typeIdentifier: ListDescriptorTypeIdentifier = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/list/TestListDescriptor.kt" + line="20" + column="65"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.list.ListDescriptorTypeIdentifier' is a data class, so mocking it should not be necessary" + errorLine1=" override val typeIdentifier: ListDescriptorTypeIdentifier = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/list/TestListDescriptor.kt" + line="20" + column="65"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.TodaysStatsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = todaysStatsViewModelSlice.getTodaysStatsBuilderParams(mock())" + errorLine2=" ~~~~~~"> + column="80"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.TodaysStatsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = todaysStatsViewModelSlice.getTodaysStatsBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/todaysstats/TodaysStatsViewModelSliceTest.kt" + line="87" + column="80"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.TodaysStatsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = todaysStatsViewModelSlice.getTodaysStatsBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/todaysstats/TodaysStatsViewModelSliceTest.kt" + line="106" + column="76"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.TodaysStatsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = todaysStatsViewModelSlice.getTodaysStatsBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/todaysstats/TodaysStatsViewModelSliceTest.kt" + line="115" + column="76"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.dashboard.CardModel.TodaysStatsCardModel' is a data class, so mocking it should not be necessary" + errorLine1=" val params = todaysStatsViewModelSlice.getTodaysStatsBuilderParams(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/dashboard/todaysstats/TodaysStatsViewModelSliceTest.kt" + line="132" + column="76"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.ValueWithChartItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/TotalCommentsUseCaseTest.kt" + line="73" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.Text' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/TotalCommentsUseCaseTest.kt" + line="76" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.ValueWithChartItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/TotalLikesUseCaseTest.kt" + line="77" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.Text' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/TotalLikesUseCaseTest.kt" + line="80" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.comments.CommentsDao.CommentEntity' is a data class, so mocking it should not be necessary" + errorLine1=" val comment: CommentEntity = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/comments/unified/UnrepliedCommentsUtilsTest.kt" + line="38" + column="38"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.comments.CommentsDao.CommentEntity' is a data class, so mocking it should not be necessary" + errorLine1=" val comment: CommentEntity = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/comments/unified/UnrepliedCommentsUtilsTest.kt" + line="49" + column="38"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.comments.CommentsDao.CommentEntity' is a data class, so mocking it should not be necessary" + errorLine1=" val comment: CommentEntity = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/comments/unified/UnrepliedCommentsUtilsTest.kt" + line="63" + column="38"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.comments.CommentsDao.CommentEntity' is a data class, so mocking it should not be necessary" + errorLine1=" val comment: CommentEntity = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/comments/unified/UnrepliedCommentsUtilsTest.kt" + line="77" + column="38"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.comments.CommentsDao.CommentEntity' is a data class, so mocking it should not be necessary" + errorLine1=" val comment: CommentEntity = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/comments/unified/UnrepliedCommentsUtilsTest.kt" + line="93" + column="38"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.persistence.comments.CommentsDao.CommentEntity' is a data class, so mocking it should not be necessary" + errorLine1=" val comment: CommentEntity = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/comments/unified/UnrepliedCommentsUtilsTest.kt" + line="106" + column="38"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" val uri = mock<UriWrapper>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/deeplinks/UriTestHelper.kt" + line="8" + column="15"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" val uri = mock<UriWrapper>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/deeplinks/UriTestHelper.kt" + line="23" + column="15"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" val uri = mock<UriWrapper>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/deeplinks/UriTestHelper.kt" + line="41" + column="15"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.util.UriWrapper' is a data class, so mocking it should not be necessary" + errorLine1=" val uri = mock<UriWrapper>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/deeplinks/UriTestHelper.kt" + line="60" + column="15"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.VideoPlaysRestClient.VideoPlaysResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<VideoPlaysResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/time/VideoPlaysRestClientTest.kt" + line="117" + column="24"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.VideoPlaysRestClient.VideoPlaysResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(VideoPlaysResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/time/VideoPlaysRestClientTest.kt" + line="158" + column="69"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.VideoPlaysModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<VideoPlaysModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/VideoPlaysStoreTest.kt" + line="62" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.VideoPlaysModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<VideoPlaysModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/VideoPlaysStoreTest.kt" + line="75" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.VideoPlaysModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<VideoPlaysModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/VideoPlaysStoreTest.kt" + line="105" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.ValuesItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/ViewsAndVisitorsUseCaseTest.kt" + line="68" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.Chips' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/ViewsAndVisitorsUseCaseTest.kt" + line="71" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.ui.stats.refresh.lists.sections.BlockListItem.LineChartItem' is a data class, so mocking it should not be necessary" + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/stats/refresh/lists/sections/insights/usecases/ViewsAndVisitorsUseCaseTest.kt" + line="74" + column="5"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.VisitAndViewsRestClient.VisitsAndViewsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" val response = mock<VisitsAndViewsResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/time/VisitAndViewsRestClientTest.kt" + line="107" + column="24"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.stats.time.VisitAndViewsRestClient.VisitsAndViewsResponse' is a data class, so mocking it should not be necessary" + errorLine1=" return initResponse(VisitsAndViewsResponse::class.java, data ?: mock(), error)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/stats/time/VisitAndViewsRestClientTest.kt" + line="148" + column="73"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.VisitsAndViewsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<VisitsAndViewsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/VisitsAndViewsStoreTest.kt" + line="94" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.VisitsAndViewsModel' is a data class, so mocking it should not be necessary" + errorLine1=" val model = mock<VisitsAndViewsModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/stats/time/VisitsAndViewsStoreTest.kt" + line="142" + column="21"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.VisitsAndViewsModel.PeriodData' is a data class, so mocking it should not be necessary" + errorLine1=" private val periodData: PeriodData = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/workers/weeklyroundup/WeeklyRoundupDataTest.kt" + line="15" + column="42"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.workers.weeklyroundup.WeeklyRoundupNotification' is a data class, so mocking it should not be necessary" + errorLine1=" val notification: WeeklyRoundupNotification = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/workers/weeklyroundup/WeeklyRoundupNotifierTest.kt" + line="125" + column="55"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.VisitsAndViewsModel.PeriodData' is a data class, so mocking it should not be necessary" + errorLine1=" private val first: PeriodData = mock {" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/workers/weeklyroundup/WeeklyRoundupRepositoryTest.kt" + line="31" + column="37"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.VisitsAndViewsModel.PeriodData' is a data class, so mocking it should not be necessary" + errorLine1=" private val second: PeriodData = mock {" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/workers/weeklyroundup/WeeklyRoundupRepositoryTest.kt" + line="35" + column="38"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.stats.time.VisitsAndViewsModel.PeriodData' is a data class, so mocking it should not be necessary" + errorLine1=" private val third: PeriodData = mock {" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/workers/weeklyroundup/WeeklyRoundupRepositoryTest.kt" + line="39" + column="37"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.XPostSiteModel' is a data class, so mocking it should not be necessary" + errorLine1=" testCapability(XPostsResult.dbResult(listOf(mock())), null, true)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/posts/editor/XPostsCapabilityCheckerTest.kt" + line="32" + column="53"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.XPostSiteModel' is a data class, so mocking it should not be necessary" + errorLine1=" testCapability(XPostsResult.dbResult(emptyList()), Companion.apiResult(listOf(mock())), true)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/posts/editor/XPostsCapabilityCheckerTest.kt" + line="37" + column="87"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.XPostSiteModel' is a data class, so mocking it should not be necessary" + errorLine1=" testCapability(XPostsResult.Unknown, XPostsResult.apiResult(listOf(mock())), true)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/posts/editor/XPostsCapabilityCheckerTest.kt" + line="52" + column="76"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.XPostSiteModel' is a data class, so mocking it should not be necessary" + errorLine1=" val apiData = arrayOf(mock<XPostSiteModel>())" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/XPostsStoreTest.kt" + line="36" + column="31"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.XPostSiteModel' is a data class, so mocking it should not be necessary" + errorLine1=" val xPosts = listOf(mock<XPostSiteModel>())" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/XPostsStoreTest.kt" + line="94" + column="29"/> + id="DoNotMockDataClass" + message="'org.wordpress.android.fluxc.model.XPostSiteModel' is a data class, so mocking it should not be necessary" + errorLine1=" val xPosts = listOf(mock<XPostSiteModel>())" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/XPostsStoreTest.kt" + line="122" + column="29"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.Result' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" whenever(fetchCampaignListUseCase.execute(any(), any(), any())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/BlazeCardViewModelSliceTest.kt" + line="138" + column="84"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.Result' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" whenever(fetchCampaignListUseCase.execute(any(), any(), any())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/BlazeCardViewModelSliceTest.kt" + line="153" + column="84"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.Result' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" whenever(mostRecentCampaignUseCase.execute(any())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/mysite/BlazeCardViewModelSliceTest.kt" + line="168" + column="71"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val draftActions = useCase.setupPageActions(DRAFTS, mock(), site, defaultRemoteId)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="56" + column="61"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val trashedActions = useCase.setupPageActions(TRASHED, mock(), site, defaultRemoteId)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="68" + column="64"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" uploadUiState = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="89" + column="29"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" uploadUiState = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="114" + column="29"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val publishedActions = useCase.setupPageActions(PUBLISHED, mock(), site, defaultRemoteId)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="142" + column="68"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val publishedActions = useCase.setupPageActions(PUBLISHED, mock(), site, defaultRemoteId)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="166" + column="68"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val publishedActions = useCase.setupPageActions(PUBLISHED, mock(), site, defaultRemoteId)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="187" + column="68"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val publishedActions = useCase.setupPageActions(PUBLISHED, mock(), site, defaultRemoteId)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="210" + column="68"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val publishedActions = useCase.setupPageActions(PUBLISHED, mock(), site, remoteId)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="229" + column="68"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val publishedActions = useCase.setupPageActions(PUBLISHED, mock(), site, defaultRemoteId)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="251" + column="68"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val scheduledActions = useCase.setupPageActions(SCHEDULED, mock(), site, defaultRemoteId)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="269" + column="68"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val publishedActions = useCase.setupPageActions(PUBLISHED, mock(), site, defaultRemoteId, true)" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemActionsUseCaseTest.kt" + line="318" + column="68"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemLabelsUseCaseTest.kt" + line="57" + column="13"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemLabelsUseCaseTest.kt" + line="66" + column="13"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val (labels, _) = useCase.createLabels(PostModel().apply { setIsLocalDraft(true) }, mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemLabelsUseCaseTest.kt" + line="73" + column="93"/> - + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val (labels, _) = useCase.createLabels(PostModel().apply { setIsLocallyChanged(true) }, mock())" + errorLine2=" ~~~~~~"> + + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val (labels, _) = useCase.createLabels(PostModel(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemLabelsUseCaseTest.kt" + line="86" + column="61"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemLabelsUseCaseTest.kt" + line="245" + column="13"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemLabelsUseCaseTest.kt" + line="322" + column="13"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.utils.UiString' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" ).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/CreatePageListItemLabelsUseCaseTest.kt" + line="333" + column="22"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.usecase.social.ShareLimit' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" .thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/posts/EditorJetpackSocialViewModelTest.kt" + line="393" + column="25"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.usecase.social.ShareLimit' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" .thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/posts/EditorJetpackSocialViewModelTest.kt" + line="430" + column="25"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.model.scan.threat.ThreatModel' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val threats = listOf<ThreatModel>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/usecases/FetchScanHistoryUseCaseTest.kt" + line="93" + column="43"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.model.scan.threat.ThreatModel' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val threats = listOf<ThreatModel>(mock(), mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/usecases/FetchScanHistoryUseCaseTest.kt" + line="93" + column="51"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.store.mobile.MigrationCompleteFetchedPayload' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expected = mock<MigrationCompleteFetchedPayload>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/mobile/JetpackMigrationRestClientTest.kt" + line="68" + column="24"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.mediapicker.MediaItem.Identifier' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mediapicker/loader/MediaLoaderTest.kt" + line="29" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.mediapicker.MediaItem.Identifier' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mediapicker/loader/MediaLoaderTest.kt" + line="32" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.quickstart.QuickStartType' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mysite/MySiteViewModelTest.kt" + line="110" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.uistate.ProgressBarUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/PageListViewModelTest.kt" + line="367" + column="17"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/PostPageListLabelColorUseCaseTest.kt" + line="120" + column="13"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/PostPageListLabelColorUseCaseTest.kt" + line="135" + column="13"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.viewmodel.pages.PostModelUploadUiStateUseCase.PostUploadUiState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/viewmodel/pages/PostPageListLabelColorUseCaseTest.kt" + line="151" + column="13"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.model.list.PostListDescriptor' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock lateinit var mockedListDescriptor: PostListDescriptor" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/post/PostStoreTest.kt" + line="40" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.quickstart.QuickStartType' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/quickstart/QuickStartRepositoryTest.kt" + line="73" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.store.ReactNativeFetchResponse' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expectedResponse = mock<ReactNativeFetchResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/ReactNativeStoreWpComTest.kt" + line="47" + column="32"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.store.ReactNativeFetchResponse' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expectedResponse = mock<ReactNativeFetchResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/ReactNativeStoreWpComTest.kt" + line="63" + column="32"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.store.ReactNativeFetchResponse' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expected = mock<ReactNativeFetchResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpapi/reactnative/ReactNativeWPAPIRestClientTest.kt" + line="51" + column="24"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.store.ReactNativeFetchResponse' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expected = mock<ReactNativeFetchResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpapi/reactnative/ReactNativeWPAPIRestClientTest.kt" + line="68" + column="24"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.store.ReactNativeFetchResponse' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expected = mock<ReactNativeFetchResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpapi/reactnative/ReactNativeWPAPIRestClientTest.kt" + line="85" + column="24"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.store.ReactNativeFetchResponse' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expected = mock<ReactNativeFetchResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpapi/reactnative/ReactNativeWPAPIRestClientTest.kt" + line="102" + column="24"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.store.ReactNativeFetchResponse' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expected = mock<ReactNativeFetchResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/reactnative/ReactNativeWPComRestClientTest.kt" + line="55" + column="24"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.store.ReactNativeFetchResponse' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expected = mock<ReactNativeFetchResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/reactnative/ReactNativeWPComRestClientTest.kt" + line="72" + column="24"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.store.ReactNativeFetchResponse' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expected = mock<ReactNativeFetchResponse>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/reactnative/ReactNativeWPComRestClientTest.kt" + line="106" + column="24"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.reader.reblog.ReblogState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" whenever(reblogUseCase.onReblogSiteSelected(anyInt(), anyOrNull())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverViewModelTest.kt" + line="199" + column="88"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.utils.UiString' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverViewModelTest.kt" + line="696" + column="17"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.utils.UiString' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" title = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverViewModelTest.kt" + line="708" + column="21"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.utils.UiDimen' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" featuredImageCornerRadius = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverViewModelTest.kt" + line="710" + column="41"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.reader.discover.ReaderCardUiState.ReaderInterestsCardUiState.ChipStyle' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" ReaderInterestsCardUiState(readerTagList.map { ReaderInterestUiState("", "", mock(), mock()) })" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderDiscoverViewModelTest.kt" + line="729" + column="94"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.reader.reblog.ReblogState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" .thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderPostCardActionsHandlerTest.kt" + line="1110" + column="25"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.reader.discover.ReaderNavigationEvents' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" .thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/discover/ReaderPostCardActionsHandlerTest.kt" + line="1112" + column="25"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.reader.reblog.ReblogState' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" whenever(reblogUseCase.onReblogSiteSelected(ArgumentMatchers.anyInt(), anyOrNull())).thenReturn(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderPostDetailViewModelTest.kt" + line="328" + column="105"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.utils.UiString' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" blogName = mock()," + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderPostDetailViewModelTest.kt" + line="1189" + column="32"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.quickstart.QuickStartType' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt" + line="77" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.utils.UiString' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" ThreatItemState(1L, true, mock(), mock(), mock(), 0, 0, 0) {" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/history/ScanHistoryListViewModelTest.kt" + line="71" + column="39"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.utils.UiString' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" ThreatItemState(1L, true, mock(), mock(), mock(), 0, 0, 0) {" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/history/ScanHistoryListViewModelTest.kt" + line="71" + column="47"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.utils.UiString' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" ThreatItemState(1L, true, mock(), mock(), mock(), 0, 0, 0) {" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/history/ScanHistoryListViewModelTest.kt" + line="71" + column="55"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.utils.UiString' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" ThreatItemState(1L, true, UiStringText(date), mock(), mock(), 0, 0, 0) {" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/history/ScanHistoryListViewModelTest.kt" + line="157" + column="59"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.utils.UiString' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" ThreatItemState(1L, true, UiStringText(date), mock(), mock(), 0, 0, 0) {" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/history/ScanHistoryListViewModelTest.kt" + line="157" + column="67"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.model.scan.threat.ThreatModel' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" .thenReturn(FetchScanHistoryUseCase.FetchScanHistoryState.Success(listOf(mock())))" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/history/ScanHistoryViewModelTest.kt" + line="46" + column="86"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.model.scan.threat.ThreatModel' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" .thenReturn(FetchScanHistoryUseCase.FetchScanHistoryState.Success(listOf(mock())))" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/history/ScanHistoryViewModelTest.kt" + line="99" + column="86"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.model.scan.threat.ThreatModel' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" .thenReturn(FetchScanHistoryUseCase.FetchScanHistoryState.Success(listOf(mock())))" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/jetpack/scan/history/ScanHistoryViewModelTest.kt" + line="113" + column="86"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.model.scan.threat.ThreatModel' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val threatModel = mock<ThreatModel>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.sitecreation.SiteCreationResult.Created' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1="val RESULT_CREATED = mock<Created>()" + errorLine2=" ~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/ui/sitecreation/SiteCreationFixtures.kt" + line="60" + column="22"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.quickstart.QuickStartType' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/siteinfo/SiteInfoHeaderCardBuilderTest.kt" + line="32" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.quickstart.QuickStartType' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mysite/cards/siteinfo/SiteInfoHeaderCardViewModelSliceTest.kt" + line="86" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.quickstart.QuickStartType' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/ui/mysite/items/SiteItemsBuilderTest.kt" + line="32" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.model.SiteHomepageSettings' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock lateinit var homepageSettings: SiteHomepageSettings" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/store/SiteOptionsStoreTest.kt" + line="40" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.reader.subfilter.SubfilterListItem' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val filter: SubfilterListItem = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModelTest.kt" + line="408" + column="41"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.reader.subfilter.SubfilterListItem' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val filter: SubfilterListItem = mock()" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModelTest.kt" + line="433" + column="41"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.posts.EditPostRepository.UpdatePostResult' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" (invocation.getArgument(0) as OnPostUpdatedFromUIListener).onPostUpdatedFromUI(mock())" + errorLine2=" ~~~~~~"> + file="src/test/java/org/wordpress/android/ui/posts/editor/media/UploadMediaUseCaseTest.kt" + line="86" + column="96"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.ui.quickstart.QuickStartType' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" @Mock" + errorLine2=" ^"> + file="src/test/java/org/wordpress/android/viewmodel/main/WPMainActivityViewModelTest.kt" + line="103" + column="5"/> + id="DoNotMockSealedClass" + message="'org.wordpress.android.fluxc.network.rest.wpcom.WPComGsonRequestBuilder.Response' is a sealed type and has a restricted type hierarchy, use a subtype instead." + errorLine1=" val expected = mock<WPComGsonRequestBuilder.Response<Array<XPostSiteModel>>>()" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/test/java/org/wordpress/android/fluxc/network/rest/wpcom/site/XPostsRestClientTest.kt" + line="26" + column="24"/> + id="InflateParams" + message="Avoid passing `null` as the view root (needed to resolve layout parameters on the inflated layout's root element)" + errorLine1=" val layout = layoutInflater.inflate(R.layout.settings_username_changer_confirm_dialog, null)" + errorLine2=" ~~~~"> + file="src/main/java/org/wordpress/android/ui/accounts/signup/SettingsUsernameChangerFragment.kt" + line="88" + column="96"/> + id="InflateParams" + message="Avoid passing `null` as the view root (needed to resolve layout parameters on the inflated layout's root element)" + errorLine1=" val rootView = requireActivity().layoutInflater.inflate(R.layout.stats_widget_site_selector, null)" + errorLine2=" ~~~~"> + file="src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/configuration/StatsWidgetSiteSelectionDialogFragment.kt" + line="27" + column="102"/> + id="InflateParams" + message="Avoid passing `null` as the view root (needed to resolve layout parameters on the inflated layout's root element)" + errorLine1=" val layout = LayoutInflater.from(context).inflate(R.layout.support_email_and_name_dialog, null)" + errorLine2=" ~~~~"> + file="src/main/java/org/wordpress/android/support/SupportHelper.kt" + line="97" + column="95"/> + id="InflateParams" + message="Avoid passing `null` as the view root (needed to resolve layout parameters on the inflated layout's root element)" + errorLine1=" mContentView = LayoutInflater.from(view.getContext()).inflate(R.layout.dialog_snackbar, null);" + errorLine2=" ~~~~"> + file="src/main/java/org/wordpress/android/widgets/WPDialogSnackbar.java" + line="53" + column="97"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="436" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="441" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="446" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="451" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="456" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="461" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="466" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="471" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="476" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="481" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="486" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="491" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="496" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="530" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="536" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="542" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="548" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="554" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="560" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="566" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="572" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="660" + column="17"/> + id="IntentFilterUniqueDataAttributes" + message="Consider splitting data tag into multiple tags with individual attributes to avoid confusion" + errorLine1=" <data" + errorLine2=" ^"> + file="src/main/AndroidManifest.xml" + line="666" + column="17"/> + id="UseSwitchCompatOrMaterialCode" + message="Use `SwitchCompat` from AppCompat or `SwitchMaterial` from Material library" + errorLine1=" Switch switchControl = getSwitch((ViewGroup) view);" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/WPSwitchPreference.java" + line="74" + column="9"/> + id="UseSwitchCompatOrMaterialCode" + message="Use `SwitchCompat` from AppCompat or `SwitchMaterial` from Material library" + errorLine1=" Switch theSwitch = getSwitch((ViewGroup) childView);" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/ui/prefs/WPSwitchPreference.java" + line="93" + column="17"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id="UseAppTint" + message="Must use `app:tint` instead of `android:tint`" + errorLine1=" android:tint="?attr/wpColorOnSurfaceMedium"" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + + + + + + + + + + + + + + + + + + + + + + + + + file="src/main/java/org/wordpress/android/editor/AztecEditorFragment.java" + line="2379" + column="51"/> + id="UseCompatLoadingForDrawables" + message="Use `ResourcesCompat.getDrawable()`" + errorLine1=" Drawable defaultLoadingImagePlaceholder = getResources().getDrawable(R.drawable.ic_gridicons_video_camera);" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/editor/AztecEditorFragment.java" + line="2391" + column="51"/> + + + + + + + + + + + + @@ -65649,6 +5644,28 @@ column="9"/> + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + errorLine1=" peopleAdapter.notifyDataSetChanged();" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + line="355" + column="13"/> + + + + + + + + @@ -65986,7 +5959,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> @@ -65997,7 +5970,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> @@ -66008,7 +5981,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> @@ -66019,10 +5992,21 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> + + + + + + + + - - - - - - - - + + + + + + + + - - - - + id="UsableSpace" + message="Consider also using `StorageManager#getAllocatableBytes` and `allocateBytes` which will consider clearable cached data" + errorLine1=" return (appContext.cacheDir.usableSpace * FULL_STORAGE_PERCENTAGE /" + errorLine2=" ~~~~~~~~~~~"> + file="src/main/java/org/wordpress/android/util/StorageUtilsProvider.kt" + line="54" + column="37"/> + id="IconDensities" + message="Missing the following drawables in `drawable-hdpi`: illustration_reader_empty.png, rppreview1.png, rppreview2.png, rppreview3.png"> + file="src/main/res/drawable-hdpi"/> + id="IconDensities" + message="Missing the following drawables in `drawable-mdpi`: bg_rectangle_total_stats_line_chart_blue_gradient.xml, btn_cab_done_default_wordpress.9.png, btn_cab_done_focused_wordpress.9.png, btn_cab_done_pressed_wordpress.9.png, gallery_icon_circles.png... (18 more)"> + file="src/main/res/drawable-mdpi"/> + id="IconDensities" + message="Missing the following drawables in `drawable-xhdpi`: bg_rectangle_total_stats_line_chart_blue_gradient.xml (found in drawable-hdpi)"> + file="src/main/res/drawable-xhdpi"/> + id="IconDensities" + message="Missing the following drawables in `drawable-xxhdpi`: bg_rectangle_total_stats_line_chart_blue_gradient.xml, btn_cab_done_default_wordpress.9.png, btn_cab_done_focused_wordpress.9.png, btn_cab_done_pressed_wordpress.9.png, menu_dropdown_panel_wordpress.9.png... (4 more)"> + file="src/main/res/drawable-xxhdpi"/> + id="Autofill" + message="Missing `autofillHints` attribute" + errorLine1=" <EditText" + errorLine2=" ~~~~~~~~"> + file="src/main/res/layout/alert_create_link.xml" + line="10" + column="4"/> + id="Autofill" + message="Missing `autofillHints` attribute" + errorLine1=" <EditText" + errorLine2=" ~~~~~~~~"> + file="src/main/res/layout/alert_create_link.xml" + line="18" + column="4"/> + id="Autofill" + message="Missing `autofillHints` attribute" + errorLine1=" <EditText" + errorLine2=" ~~~~~~~~"> + file="src/main/res/layout/alert_image_options.xml" + line="16" + column="10"/> + id="Autofill" + message="Missing `autofillHints` attribute" + errorLine1=" <EditText" + errorLine2=" ~~~~~~~~"> + file="src/main/res/layout/alert_image_options.xml" + line="24" + column="10"/> + id="Autofill" + message="Missing `autofillHints` attribute" + errorLine1=" <EditText" + errorLine2=" ~~~~~~~~"> + file="src/main/res/layout/alert_image_options.xml" + line="58" + column="10"/> + id="Autofill" + message="Missing `autofillHints` attribute" + errorLine1=" <EditText" + errorLine2=" ~~~~~~~~"> + file="src/main/res/layout/dialog_link.xml" + line="16" + column="10"/> + id="Autofill" + message="Missing `autofillHints` attribute" + errorLine1=" <EditText" + errorLine2=" ~~~~~~~~"> + file="src/main/res/layout/dialog_link.xml" + line="34" + column="10"/> @@ -68031,4 +8015,11 @@ column="9"/> + + + + diff --git a/config/lint/lint.xml b/config/lint/lint.xml index 17d667000d83..019d8b4cebd3 100644 --- a/config/lint/lint.xml +++ b/config/lint/lint.xml @@ -55,6 +55,14 @@ + + + + + + + + From 7d15a108ef290d32a92d1cd84a4c85b9c66a678a Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Fri, 27 Feb 2026 15:06:45 -0700 Subject: [PATCH 6/7] Lint debug variants instead of release for faster CI builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Debug variants skip R8/ProGuard minification during compilation, which reduces lint wall time especially on cold caches. All app code is identical between debug and release — BuildConfig.DEBUG checks are runtime conditionals, not compile-time code removal. Co-Authored-By: Claude Opus 4.6 --- .buildkite/commands/lint.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.buildkite/commands/lint.sh b/.buildkite/commands/lint.sh index f51dd73f6280..f504ec47463c 100755 --- a/.buildkite/commands/lint.sh +++ b/.buildkite/commands/lint.sh @@ -9,17 +9,17 @@ fi echo "--- :microscope: Linting" if [ "$1" = "wordpress" ]; then - ./gradlew lintWordpressVanillaRelease + ./gradlew lintWordpressVanillaDebug exit 0 fi if [ "$1" = "jetpack" ]; then set +e - ./gradlew lintJetpackVanillaRelease + ./gradlew lintJetpackVanillaDebug lint_exit_code=$? set -e - upload_sarif_to_github "WordPress/build/reports/lint-results-jetpackVanillaRelease.sarif" + upload_sarif_to_github "WordPress/build/reports/lint-results-jetpackVanillaDebug.sarif" exit $lint_exit_code fi From 51d4fad28614e47560ecffa5d4332549d7d04b46 Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Mon, 2 Mar 2026 12:10:13 -0700 Subject: [PATCH 7/7] Trigger rebuild to measure debug lint with warm cache Co-Authored-By: Claude Opus 4.6