<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://blog.shreyaspatil.dev/</loc></url><url><loc>https://blog.shreyaspatil.dev/51-my-developer-blogging-journey-so-far/</loc></url><url><loc>https://blog.shreyaspatil.dev/a-simple-key-to-a-better-lazylist-in-jetpack-compose/</loc></url><url><loc>https://blog.shreyaspatil.dev/accessing-device-location-using-sim-card-6cdb15645bef/</loc></url><url><loc>https://blog.shreyaspatil.dev/archives/</loc></url><url><loc>https://blog.shreyaspatil.dev/automate-library-publishing-to-maven-central-with-github-actions-workflow-dispatch/</loc></url><url><loc>https://blog.shreyaspatil.dev/automate-publishing-android-library-to-bintray-using-github-actions-9b8ad8ab2698/</loc></url><url><loc>https://blog.shreyaspatil.dev/automate-publishing-app-to-the-google-play-store-with-github-actions-fastlane-ac9104712486/</loc></url><url><loc>https://blog.shreyaspatil.dev/benchmark-insights-direct-state-propagation-vs-lambda-based-state-in-jetpack-compose/</loc></url><url><loc>https://blog.shreyaspatil.dev/capturing-composable-to-a-bitmap-without-losing-a-state/</loc></url><url><loc>https://blog.shreyaspatil.dev/collecting-items-from-the-flow-in-chunks/</loc></url><url><loc>https://blog.shreyaspatil.dev/combining-stateflows-and-transforming-it-into-a-stateflow/</loc></url><url><loc>https://blog.shreyaspatil.dev/composing-composable-in-the-text-line-with-inlinetextcontent-in-jetpack-compose/</loc></url><url><loc>https://blog.shreyaspatil.dev/cooking-tasty-code-in-kotlin-part-1/</loc></url><url><loc>https://blog.shreyaspatil.dev/cooking-tasty-code-in-kotlin-part-2/</loc></url><url><loc>https://blog.shreyaspatil.dev/deep-dive-into-annotations-in-jetpack-compose/</loc></url><url><loc>https://blog.shreyaspatil.dev/devops-ify-android-libraries-with-github-actions-and-package-registry-5e7f69a83622/</loc></url><url><loc>https://blog.shreyaspatil.dev/dont-let-kotlins-single-expression-function-ruin-your-business/</loc></url><url><loc>https://blog.shreyaspatil.dev/dont-let-viewmodel-knew-about-framework-level-dependencies/</loc></url><url><loc>https://blog.shreyaspatil.dev/droidcon-debugging-app-performance-at-scale/</loc></url><url><loc>https://blog.shreyaspatil.dev/effortless-compose-compiler-report-analysis/</loc></url><url><loc>https://blog.shreyaspatil.dev/exploring-compositionlocal-api-internals-in-jetpack-compose/</loc></url><url><loc>https://blog.shreyaspatil.dev/exploring-pausablecomposition-internals-in-jetpack-compose/</loc></url><url><loc>https://blog.shreyaspatil.dev/exploring-select-expression-of-kotlin-coroutines/</loc></url><url><loc>https://blog.shreyaspatil.dev/filtering-and-modifying-text-input-in-jetpack-compose-way/</loc></url><url><loc>https://blog.shreyaspatil.dev/firebase-database-paging-android-f59e6dd0dc75/</loc></url><url><loc>https://blog.shreyaspatil.dev/firebase-ing-with-kotlin-coroutines-flow-dab1bc364816/</loc></url><url><loc>https://blog.shreyaspatil.dev/firestore-pagination-in-android-using-firebaseui-library-1d7fe1a75704/</loc></url><url><loc>https://blog.shreyaspatil.dev/getting-data-from-google-sheets-flutter-app-part-2-d6e689fdbbed/</loc></url><url><loc>https://blog.shreyaspatil.dev/hello-datastore-bye-sharedpreferences-android-f46c610b81d5/</loc></url><url><loc>https://blog.shreyaspatil.dev/hello-datastore-bye-sharedpreferences-android-part-2-proto-datastore-2716fbfd4783/</loc></url><url><loc>https://blog.shreyaspatil.dev/hide-internal-members-of-kotlin-module-from-jvm/</loc></url><url><loc>https://blog.shreyaspatil.dev/implementing-animated-material-dialog-in-android-c4fb35d7d050/</loc></url><url><loc>https://blog.shreyaspatil.dev/implementing-upi-payment-integration-in-android-with-easyupipayment-library-aaf9bea715d9/</loc></url><url><loc>https://blog.shreyaspatil.dev/introduction-to-dagger-di-by-a-life-way-d34f62540329/</loc></url><url><loc>https://blog.shreyaspatil.dev/kotlin-exception-handling-why-singleton-exceptions-are-a-bad-idea/</loc></url><url><loc>https://blog.shreyaspatil.dev/let-your-delegates-auto-nullify-references/</loc></url><url><loc>https://blog.shreyaspatil.dev/leveraging-the-semaphore-concept-in-coroutines-to-limit-the-parallelism/</loc></url><url><loc>https://blog.shreyaspatil.dev/leveraging-the-snapshot-mutation-policies-of-jetpack-compose/</loc></url><url><loc>https://blog.shreyaspatil.dev/making-google-apps-like-navigation-drawer-material-design-c8781d9ff8c8/</loc></url><url><loc>https://blog.shreyaspatil.dev/mastering-android-app-performance-analyzing-bottlenecks-with-perfetto/</loc></url><url><loc>https://blog.shreyaspatil.dev/navigating-screens-in-jetpack-compose-devfest-india-2021-mobile-track/</loc></url><url><loc>https://blog.shreyaspatil.dev/observing-live-connectivity-status-in-jetpack-compose-way/</loc></url><url><loc>https://blog.shreyaspatil.dev/permissionflow-a-reactive-api-for-knowing-the-status-of-android-app-permissions/</loc></url><url><loc>https://blog.shreyaspatil.dev/posts/1/</loc></url><url><loc>https://blog.shreyaspatil.dev/posts/2/</loc></url><url><loc>https://blog.shreyaspatil.dev/posts/3/</loc></url><url><loc>https://blog.shreyaspatil.dev/promise-compose-compiler-and-imply-when-youll-change/</loc></url><url><loc>https://blog.shreyaspatil.dev/providing-assistedinject-supported-viewmodel-for-composable-using-hilt/</loc></url><url><loc>https://blog.shreyaspatil.dev/quickly-distribute-your-app-with-firebase-app-distribution-using-github-actions-fastlane/</loc></url><url><loc>https://blog.shreyaspatil.dev/rich-media-input-from-the-keyboard-in-compose/</loc></url><url><loc>https://blog.shreyaspatil.dev/runtime-surprise-kotlin-breaks-non-nullability-promise-on-developer-cheating-in-field-initialization/</loc></url><url><loc>https://blog.shreyaspatil.dev/scheduling-fcm-push-notifications-on-device-android-2d3bb9653b4d/</loc></url><url><loc>https://blog.shreyaspatil.dev/search/</loc></url><url><loc>https://blog.shreyaspatil.dev/session-bridge-i-made-two-claude-code-sessions-talk-to-each-other/</loc></url><url><loc>https://blog.shreyaspatil.dev/simplifying-redux-in-kotlin-mutating-immutable-states-with-mutekt/</loc></url><url><loc>https://blog.shreyaspatil.dev/skipping-the-invocation-of-intermediate-composables/</loc></url><url><loc>https://blog.shreyaspatil.dev/sleepless-concurrency-delay-vs-threadsleep/</loc></url><url><loc>https://blog.shreyaspatil.dev/solving-the-mystery-of-recompositions-in-composes-lazylist/</loc></url><url><loc>https://blog.shreyaspatil.dev/stateflow-end-of-livedata-a473094229b3/</loc></url><url><loc>https://blog.shreyaspatil.dev/storing-data-from-the-flutter-app-google-sheets-e4498e9cda5d/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/agentic-ai-development/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/agentic-ai/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/ai-agents/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/ai/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/android-app-development/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/android-app-development/2/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/android-apps/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/android-development/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/android-studio/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/android/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/android/2/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/android/3/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/app-development/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/app-performance/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/asynchronous/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/best-practices/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/blog/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/blogging/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/capture/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/ci/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/claude-code/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/claude-plugin/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/claudeai/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/codex/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/coding/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/community/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/compose-compiler/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/compose-multiplatform/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/compose/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/content-creation/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/coroutines-flow/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/coroutines/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/database/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/debugging/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/declarative/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/dependency-injection/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/deployment/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/developer/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/development/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/droidcon/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/droidconindia/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/exception-handling/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/exceptionhandling/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/firebase/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/flutter/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/framework/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/gemini/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/git/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/github/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/google/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/gradle/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/indie-maker/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/internals/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/java/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/javascript/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/jetpack-compose-layouts-and-modifiers/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/jetpack-compose-ui-components/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/jetpack-compose/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/jetpack/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/journey/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/jvm/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/keyboard/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/kotlin-beginner/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/kotlin-coroutines/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/kotlin-multiplatform/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/kotlin-nullsafety/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/kotlin/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/kotlin/2/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/learn-coding/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/library/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/main-thread/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/mistakes/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/mobile-apps/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/mobile-development/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/multitasking/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/multithreading/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/navigation/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/networking/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/opensource/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/optimization/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/others/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/perfetto/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/performance-optimization/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/performance/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/plugins/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/productivity/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/programming-blogs/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/programming-languages/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/programming-tips/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/programming/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/public-speaking/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/reactive-programming/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/reactjs/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/recompose/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/redux/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/screenshot/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/software-architecture/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/state-management/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/stateflow/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/tech-talk/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/technical-documentation/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/technical-writing-1/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/testing/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/threadpools/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/threads/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/tricks/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/ui-design/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/ui/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/uiux/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/ux/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/vibe-coding/</loc></url><url><loc>https://blog.shreyaspatil.dev/tags/writing/</loc></url><url><loc>https://blog.shreyaspatil.dev/the-future-of-android-apps-with-appfunctions/</loc></url><url><loc>https://blog.shreyaspatil.dev/understanding-dispatchers-main-and-mainimmediate/</loc></url><url><loc>https://blog.shreyaspatil.dev/update-queries-without-changing-recyclerview-adapter-using-firebaseui-android-32098b3082b2/</loc></url><url><loc>https://blog.shreyaspatil.dev/viewmodel-for-ui-business-not-ui-operations/</loc></url><url><loc>https://blog.shreyaspatil.dev/you-can-t-multitask-your-ai-agent-can/</loc></url></urlset>