CINXE.COM
<!doctype html><html lang="en"><head><title data-rh="true">Now in Android #92. Studio Bot expansion, Firebase… | by Alice Yuan | Android Developers | Medium</title><meta data-rh="true" charset="utf-8"/><meta data-rh="true" name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1"/><meta data-rh="true" name="theme-color" content="#000000"/><meta data-rh="true" name="twitter:app:name:iphone" content="Medium"/><meta data-rh="true" name="twitter:app:id:iphone" content="828256236"/><meta data-rh="true" property="al:ios:app_name" content="Medium"/><meta data-rh="true" property="al:ios:app_store_id" content="828256236"/><meta data-rh="true" property="al:android:package" content="com.medium.reader"/><meta data-rh="true" property="fb:app_id" content="542599432471018"/><meta data-rh="true" property="og:site_name" content="Medium"/><meta data-rh="true" property="og:type" content="article"/><meta data-rh="true" property="article:published_time" content="2023-10-04T22:05:31.462Z"/><meta data-rh="true" name="title" content="Now in Android #92. Studio Bot expansion, Firebase… | by Alice Yuan | Android Developers | Medium"/><meta data-rh="true" property="og:title" content="Now in Android #92"/><meta data-rh="true" property="al:android:url" content="medium://p/51866ffd0bd8"/><meta data-rh="true" property="al:ios:url" content="medium://p/51866ffd0bd8"/><meta data-rh="true" property="al:android:app_name" content="Medium"/><meta data-rh="true" name="description" content="Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development. Most of the content of this post is available in the form of a video or podcast, so feel…"/><meta data-rh="true" property="og:description" content="Studio Bot expansion, Firebase integration, Android Studio, and much more!"/><meta data-rh="true" property="og:url" content="https://medium.com/androiddevelopers/now-in-android-92-51866ffd0bd8"/><meta data-rh="true" property="al:web:url" content="https://medium.com/androiddevelopers/now-in-android-92-51866ffd0bd8"/><meta data-rh="true" property="og:image" content="https://miro.medium.com/v2/resize:fit:1200/1*aIux1an8zPUXIhTLY7psfw.png"/><meta data-rh="true" property="article:author" content="https://medium.com/@alice_yuan"/><meta data-rh="true" name="author" content="Alice Yuan"/><meta data-rh="true" name="robots" content="index,noarchive,follow,max-image-preview:large"/><meta data-rh="true" name="referrer" content="unsafe-url"/><meta data-rh="true" property="twitter:title" content="Now in Android #92"/><meta data-rh="true" name="twitter:site" content="@androiddev"/><meta data-rh="true" name="twitter:app:url:iphone" content="medium://p/51866ffd0bd8"/><meta data-rh="true" property="twitter:description" content="Studio Bot expansion, Firebase integration, Android Studio, and much more!"/><meta data-rh="true" name="twitter:image:src" content="https://miro.medium.com/v2/resize:fit:1200/1*aIux1an8zPUXIhTLY7psfw.png"/><meta data-rh="true" name="twitter:card" content="summary_large_image"/><meta data-rh="true" name="twitter:label1" content="Reading time"/><meta data-rh="true" name="twitter:data1" content="3 min read"/><link data-rh="true" rel="icon" href="https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19"/><link data-rh="true" rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml"/><link data-rh="true" rel="apple-touch-icon" sizes="152x152" href="https://miro.medium.com/v2/resize:fill:304:304/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="120x120" href="https://miro.medium.com/v2/resize:fill:240:240/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="76x76" href="https://miro.medium.com/v2/resize:fill:152:152/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="60x60" href="https://miro.medium.com/v2/resize:fill:120:120/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="mask-icon" href="https://miro.medium.com/v2/resize:fill:1000:1000/7*GAOKVe--MXbEJmV9230oOQ.png" color="#171717"/><link data-rh="true" rel="preconnect" href="https://glyph.medium.com" crossOrigin=""/><link data-rh="true" id="glyph_preload_link" rel="preload" as="style" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" id="glyph_link" rel="stylesheet" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" rel="author" href="https://medium.com/@alice_yuan"/><link data-rh="true" rel="canonical" href="https://medium.com/androiddevelopers/now-in-android-92-51866ffd0bd8"/><link data-rh="true" rel="alternate" href="android-app://com.medium.reader/https/medium.com/p/51866ffd0bd8"/><script data-rh="true" type="application/ld+json">{"@context":"http:\u002F\u002Fschema.org","@type":"NewsArticle","image":["https:\u002F\u002Fmiro.medium.com\u002Fv2\u002Fresize:fit:1200\u002F1*aIux1an8zPUXIhTLY7psfw.png"],"url":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fnow-in-android-92-51866ffd0bd8","dateCreated":"2023-10-04T22:05:31.462Z","datePublished":"2023-10-04T22:05:31.462Z","dateModified":"2023-10-05T01:34:36.193Z","headline":"Now in Android #92 - Android Developers - Medium","name":"Now in Android #92 - Android Developers - Medium","description":"Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development. Most of the content of this post is available in the form of a video or podcast, so feel…","identifier":"51866ffd0bd8","author":{"@type":"Person","name":"Alice Yuan","url":"https:\u002F\u002Fmedium.com\u002F@alice_yuan"},"creator":["Alice Yuan"],"publisher":{"@type":"Organization","name":"Android Developers","url":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers","logo":{"@type":"ImageObject","width":500,"height":60,"url":"https:\u002F\u002Fmiro.medium.com\u002Fv2\u002Fresize:fit:1000\u002F1*5pMw_nx55x_66tk77kutPQ.png"}},"mainEntityOfPage":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fnow-in-android-92-51866ffd0bd8"}</script><style type="text/css" data-fela-rehydration="601" data-fela-type="STATIC">html{box-sizing:border-box;-webkit-text-size-adjust:100%}*, *:before, *:after{box-sizing:inherit}body{margin:0;padding:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:rgba(0,0,0,0.8);position:relative;min-height:100vh}h1, h2, h3, h4, h5, h6, dl, dd, ol, ul, menu, figure, blockquote, p, pre, form{margin:0}menu, ol, ul{padding:0;list-style:none;list-style-image:none}main{display:block}a{color:inherit;text-decoration:none}a, button, input{-webkit-tap-highlight-color:transparent}img, svg{vertical-align:middle}button{background:transparent;overflow:visible}button, input, optgroup, select, textarea{margin:0}:root{--reach-tabs:1;--reach-menu-button:1}#speechify-root{font-family:Sohne, sans-serif}div[data-popper-reference-hidden="true"]{visibility:hidden;pointer-events:none}.grecaptcha-badge{visibility:hidden} /*XCode style (c) Angel Garcia <angelgarcia.mail@gmail.com>*/.hljs {background: #fff;color: black; }/* Gray DOCTYPE selectors like WebKit */ .xml .hljs-meta {color: #c0c0c0; }.hljs-comment, .hljs-quote {color: #007400; }.hljs-tag, .hljs-attribute, .hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-name {color: #aa0d91; }.hljs-variable, .hljs-template-variable {color: #3F6E74; }.hljs-code, .hljs-string, .hljs-meta .hljs-string {color: #c41a16; }.hljs-regexp, .hljs-link {color: #0E0EFF; }.hljs-title, .hljs-symbol, .hljs-bullet, .hljs-number {color: #1c00cf; }.hljs-section, .hljs-meta {color: #643820; }.hljs-title.class_, .hljs-class .hljs-title, .hljs-type, .hljs-built_in, .hljs-params {color: #5c2699; }.hljs-attr {color: #836C28; }.hljs-subst {color: #000; }.hljs-formula {background-color: #eee;font-style: italic; }.hljs-addition {background-color: #baeeba; }.hljs-deletion {background-color: #ffc8bd; }.hljs-selector-id, .hljs-selector-class {color: #9b703f; }.hljs-doctag, .hljs-strong {font-weight: bold; }.hljs-emphasis {font-style: italic; } </style><style type="text/css" data-fela-rehydration="601" data-fela-type="KEYFRAME">@-webkit-keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}@-moz-keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}@keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE">.a{font-family:medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}.b{font-weight:400}.c{background-color:rgba(255, 255, 255, 1)}.l{display:block}.m{position:sticky}.n{top:0}.o{z-index:500}.p{padding:0 24px}.q{align-items:center}.r{border-bottom:solid 1px #F2F2F2}.y{height:41px}.z{line-height:20px}.ab{display:flex}.ac{height:57px}.ae{flex:1 0 auto}.af{color:inherit}.ag{fill:inherit}.ah{font-size:inherit}.ai{border:inherit}.aj{font-family:inherit}.ak{letter-spacing:inherit}.al{font-weight:inherit}.am{padding:0}.an{margin:0}.ao{cursor:pointer}.ap:disabled{cursor:not-allowed}.aq:disabled{color:#6B6B6B}.ar:disabled{fill:#6B6B6B}.au{width:auto}.av path{fill:#242424}.aw{height:25px}.ax{margin-left:16px}.ay{border:none}.az{border-radius:20px}.ba{width:240px}.bb{background:#F9F9F9}.bc path{fill:#6B6B6B}.be{outline:none}.bf{font-family:sohne, "Helvetica Neue", Helvetica, Arial, sans-serif}.bg{font-size:14px}.bh{width:100%}.bi{padding:10px 20px 10px 0}.bj{background-color:transparent}.bk{color:#242424}.bl::placeholder{color:#6B6B6B}.bm{display:inline-block}.bn{margin-left:12px}.bo{margin-right:12px}.bp{border-radius:4px}.bq{margin-left:24px}.br{height:24px}.bx{background-color:#F9F9F9}.by{border-radius:50%}.bz{height:32px}.ca{width:32px}.cb{justify-content:center}.ch{max-width:680px}.ci{min-width:0}.cj{animation:k1 1.2s ease-in-out infinite}.ck{height:100vh}.cl{margin-bottom:16px}.cm{margin-top:48px}.cn{align-items:flex-start}.co{flex-direction:column}.cp{justify-content:space-between}.cq{margin-bottom:24px}.cw{width:80%}.cx{background-color:#F2F2F2}.dd{height:44px}.de{width:44px}.df{margin:auto 0}.dg{margin-bottom:4px}.dh{height:16px}.di{width:120px}.dj{width:80px}.dp{margin-bottom:8px}.dq{width:96%}.dr{width:98%}.ds{width:81%}.dt{margin-left:8px}.du{color:#6B6B6B}.dv{font-size:13px}.dw{height:100%}.ep{color:#FFFFFF}.eq{fill:#FFFFFF}.er{background:rgba(132, 132, 136, 1)}.es{border-color:rgba(132, 132, 136, 1)}.ew:disabled{cursor:inherit !important}.ex:disabled{opacity:0.3}.ey:disabled:hover{background:rgba(132, 132, 136, 1)}.ez:disabled:hover{border-color:rgba(132, 132, 136, 1)}.fa{border-radius:99em}.fb{border-width:1px}.fc{border-style:solid}.fd{box-sizing:border-box}.fe{text-decoration:none}.ff{text-align:center}.fi{margin-right:32px}.fj{position:relative}.fk{fill:#6B6B6B}.fn{background:transparent}.fo svg{margin-left:4px}.fp svg{fill:#6B6B6B}.fr{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.05)}.fs{position:absolute}.fz{margin:0 24px}.gd{background:rgba(255, 255, 255, 1)}.ge{border:1px solid #F2F2F2}.gf{box-shadow:0 1px 4px #F2F2F2}.gg{max-height:100vh}.gh{overflow-y:auto}.gi{left:0}.gj{top:calc(100vh + 100px)}.gk{bottom:calc(100vh + 100px)}.gl{width:10px}.gm{pointer-events:none}.gn{word-break:break-word}.go{word-wrap:break-word}.gp:after{display:block}.gq:after{content:""}.gr:after{clear:both}.gs{clear:both}.hb{margin-left:auto}.hc{margin-right:auto}.hd{max-width:1600px}.hj{padding-top:5px}.hk{padding-bottom:5px}.hm{cursor:zoom-in}.hn{z-index:auto}.hp{max-width:100%}.hq{height:auto}.hr{line-height:1.23}.hs{letter-spacing:0}.ht{font-style:normal}.hu{font-weight:700}.ip{margin-bottom:-0.27em}.iq{line-height:1.394}.jg{text-decoration:underline}.jm{align-items:baseline}.jn{width:48px}.jo{height:48px}.jp{border:2px solid rgba(255, 255, 255, 1)}.jq{z-index:0}.jr{box-shadow:none}.js{border:1px solid rgba(0, 0, 0, 0.05)}.jt{margin-left:-12px}.ju{width:28px}.jv{height:28px}.jw{z-index:1}.jx{width:24px}.jy{margin-bottom:2px}.jz{flex-wrap:nowrap}.ka{font-size:16px}.kb{line-height:24px}.kd{margin:0 8px}.ke{display:inline}.kf{color:rgba(132, 132, 136, 1)}.kg{fill:rgba(132, 132, 136, 1)}.kj{flex:0 0 auto}.km{flex-wrap:wrap}.kp{white-space:pre-wrap}.kq{margin-right:4px}.kr{overflow:hidden}.ks{max-height:20px}.kt{text-overflow:ellipsis}.ku{display:-webkit-box}.kv{-webkit-line-clamp:1}.kw{-webkit-box-orient:vertical}.kx{word-break:break-all}.kz{padding-left:8px}.la{padding-right:8px}.mb> *{flex-shrink:0}.mc{overflow-x:scroll}.md::-webkit-scrollbar{display:none}.me{scrollbar-width:none}.mf{-ms-overflow-style:none}.mg{width:74px}.mh{flex-direction:row}.mi{z-index:2}.ml{-webkit-user-select:none}.mm{border:0}.mn{fill:rgba(117, 117, 117, 1)}.mq{outline:0}.mr{user-select:none}.ms> svg{pointer-events:none}.nb{cursor:progress}.nc{margin-left:4px}.nd{margin-top:0px}.ne{opacity:1}.nf{padding:4px 0}.ni{width:16px}.nk{display:inline-flex}.nn{padding:8px 2px}.no svg{color:#6B6B6B}.of{line-height:1.58}.og{letter-spacing:-0.004em}.oh{font-family:source-serif-pro, Georgia, Cambria, "Times New Roman", Times, serif}.pa{margin-bottom:-0.46em}.pg{margin:auto}.ph{padding-bottom:56.206088992974244%}.pi{height:0}.pj{padding-bottom:15%}.pk{margin-top:32px}.pl{margin-bottom:14px}.pm{padding-top:24px}.pn{padding-bottom:10px}.po{background-color:#000000}.pp{height:3px}.pq{width:3px}.pr{margin-right:20px}.ps{line-height:1.12}.pt{letter-spacing:-0.022em}.pu{font-weight:600}.qn{margin-bottom:-0.28em}.qy{box-shadow:inset 0 0 0 1px #F2F2F2}.qz{padding:0px}.ra{padding:16px 20px}.rb{flex:1 1 auto}.rd{max-height:40px}.re{-webkit-line-clamp:2}.rf{margin-top:8px}.rg{margin-top:12px}.rh{width:160px}.ri{background-image:url(https://miro.medium.com/v2/da:true/resize:fit:320/0*vFIgwwZo-9NtJDJz)}.rj{background-origin:border-box}.rk{background-size:cover}.rl{height:167px}.rm{background-position:50% 50%}.rs{background-image:url(https://miro.medium.com/v2/resize:fit:320/1*MxDmjg2fxWZVrV3rJFuVKA.png)}.rt{background-image:url(https://miro.medium.com/v2/da:true/resize:fit:320/0*tO6ASlBP1sHEGDLT)}.ru{list-style-type:disc}.rv{margin-left:30px}.rw{padding-left:0px}.sc{background-image:url(https://miro.medium.com/v2/da:true/resize:fit:320/0*zpb1zjzKwtgMOFJ_)}.sd{margin-bottom:26px}.se{margin-top:6px}.sf{margin-right:8px}.sg{padding:8px 16px}.sh{border-radius:100px}.si{transition:background 300ms ease}.sk{white-space:nowrap}.sl{border-top:none}.sm{height:52px}.sn{max-height:52px}.so{box-sizing:content-box}.sp{position:static}.sr{max-width:155px}.tc{height:0px}.td{margin-bottom:40px}.te{margin-bottom:48px}.ts{border-radius:2px}.tu{height:64px}.tv{width:64px}.tw{align-self:flex-end}.ua{padding-right:4px}.ub{font-weight:500}.uo{margin-top:16px}.up{color:rgba(255, 255, 255, 1)}.uq{fill:rgba(255, 255, 255, 1)}.ur{background:rgba(25, 25, 25, 1)}.us{border-color:rgba(25, 25, 25, 1)}.uv:disabled{opacity:0.1}.uw:disabled:hover{background:rgba(25, 25, 25, 1)}.ux:disabled:hover{border-color:rgba(25, 25, 25, 1)}.vg{gap:18px}.vh{fill:rgba(61, 61, 61, 1)}.vj{fill:#242424}.vk{background:0}.vl{border-color:#242424}.vm:disabled:hover{color:#242424}.vn:disabled:hover{fill:#242424}.vo:disabled:hover{border-color:#242424}.vz{border-bottom:solid 1px #E5E5E5}.wa{margin-top:72px}.wb{padding:24px 0}.wc{margin-bottom:0px}.wd{margin-right:16px}.as:hover:not(:disabled){color:rgba(25, 25, 25, 1)}.at:hover:not(:disabled){fill:rgba(25, 25, 25, 1)}.et:hover{background:rgba(113, 114, 117, 1)}.eu:hover{border-color:rgba(113, 114, 117, 1)}.ev:hover{cursor:pointer}.fl:hover{color:#242424}.fm:hover{fill:#242424}.fq:hover svg{fill:#242424}.ft:hover{background-color:rgba(0, 0, 0, 0.1)}.kc:hover{text-decoration:underline}.kh:hover:not(:disabled){color:rgba(113, 114, 117, 1)}.ki:hover:not(:disabled){fill:rgba(113, 114, 117, 1)}.mp:hover{fill:rgba(8, 8, 8, 1)}.ng:hover{fill:#000000}.nh:hover p{color:#000000}.nj:hover{color:#000000}.np:hover svg{color:#000000}.sj:hover{background-color:#F2F2F2}.tt:hover{background-color:none}.ut:hover{background:#000000}.uu:hover{border-color:#242424}.vi:hover{fill:rgba(25, 25, 25, 1)}.bd:focus-within path{fill:#242424}.ho:focus{transform:scale(1.01)}.mo:focus{fill:rgba(8, 8, 8, 1)}.nq:focus svg{color:#000000}.mt:active{border-style:none}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="all and (min-width: 1080px)">.d{display:none}.bw{width:64px}.cg{margin:0 64px}.cv{height:48px}.dc{margin-bottom:52px}.do{margin-bottom:48px}.ef{font-size:14px}.eg{line-height:20px}.em{font-size:13px}.eo{padding:5px 12px}.fh{display:flex}.fy{margin-bottom:68px}.gc{max-width:680px}.ha{max-width:1192px}.hi{margin-top:40px}.il{font-size:42px}.im{margin-top:1em}.in{line-height:52px}.io{letter-spacing:-0.011em}.jd{font-size:22px}.je{margin-top:0.92em}.jf{line-height:28px}.jl{align-items:center}.ln{border-top:solid 1px #F2F2F2}.lo{border-bottom:solid 1px #F2F2F2}.lp{margin:32px 0 0}.lq{padding:3px 8px}.lz> *{margin-right:24px}.ma> :last-child{margin-right:0}.na{margin-top:0px}.nm{margin:0}.ow{font-size:20px}.ox{margin-top:2.14em}.oy{line-height:32px}.oz{letter-spacing:-0.003em}.pf{margin-top:56px}.qj{font-size:24px}.qk{margin-top:1.25em}.ql{line-height:30px}.qm{letter-spacing:-0.016em}.qs{margin-top:0.94em}.qx{margin-top:32px}.rr{margin-top:1.95em}.sb{margin-top:1.14em}.sw{display:inline-block}.tb{margin-bottom:104px}.tf{flex-direction:row}.ti{margin-bottom:0}.tj{margin-right:20px}.tx{max-width:500px}.um{line-height:24px}.un{letter-spacing:0}.vc{margin-bottom:88px}.vf{margin-bottom:72px}.vt{width:min-width}.vy{padding-top:72px}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="all and (max-width: 1079.98px)">.e{display:none}.mz{margin-top:0px}.sv{display:inline-block}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="all and (max-width: 903.98px)">.f{display:none}.my{margin-top:0px}.su{display:inline-block}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="all and (max-width: 727.98px)">.g{display:none}.mw{margin-top:0px}.mx{margin-right:0px}.rc{padding:10px 12px 10px}.st{display:inline-block}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="all and (max-width: 551.98px)">.h{display:none}.s{display:flex}.t{justify-content:space-between}.bs{width:24px}.cc{margin:0 24px}.cr{height:40px}.cy{margin-bottom:44px}.dk{margin-bottom:32px}.dx{font-size:13px}.dy{line-height:20px}.eh{padding:0px 8px 1px}.fu{margin-bottom:4px}.gt{margin:0}.gu{max-width:100%}.he{margin-top:32px}.hv{font-size:32px}.hw{margin-top:1.01em}.hx{line-height:38px}.hy{letter-spacing:-0.014em}.ir{font-size:18px}.is{margin-top:0.79em}.it{line-height:24px}.jh{align-items:flex-start}.kk{flex-direction:column}.kn{margin-bottom:2px}.lb{margin:24px -24px 0}.lc{padding:0}.lr> *{margin-right:8px}.ls> :last-child{margin-right:24px}.mj{margin-left:0px}.mu{margin-top:0px}.mv{margin-right:0px}.nr{border:1px solid #F2F2F2}.ns{border-radius:99em}.nt{padding:0px 16px 0px 12px}.nu{height:38px}.nv{align-items:center}.nx svg{margin-right:8px}.oi{margin-top:1.56em}.oj{line-height:28px}.ok{letter-spacing:-0.003em}.pb{margin-top:40px}.pv{font-size:20px}.pw{margin-top:0.93em}.px{letter-spacing:0}.qo{margin-top:0.67em}.qt{margin-top:24px}.rn{margin-top:1.2em}.rx{margin-top:1.34em}.ss{display:inline-block}.sx{margin-bottom:96px}.tq{margin-bottom:20px}.tr{margin-right:0}.uc{font-size:24px}.ud{line-height:30px}.ue{letter-spacing:-0.016em}.uy{margin-bottom:64px}.vp{width:100%}.vu{padding-top:48px}.nw:hover{border-color:#E5E5E5}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="all and (min-width: 904px) and (max-width: 1079.98px)">.i{display:none}.bv{width:64px}.cf{margin:0 64px}.cu{height:48px}.db{margin-bottom:52px}.dn{margin-bottom:48px}.ed{font-size:14px}.ee{line-height:20px}.ek{font-size:13px}.el{padding:5px 12px}.fg{display:flex}.fx{margin-bottom:68px}.gb{max-width:680px}.gz{max-width:1192px}.hh{margin-top:40px}.ih{font-size:42px}.ii{margin-top:1em}.ij{line-height:52px}.ik{letter-spacing:-0.011em}.ja{font-size:22px}.jb{margin-top:0.92em}.jc{line-height:28px}.jk{align-items:center}.lj{border-top:solid 1px #F2F2F2}.lk{border-bottom:solid 1px #F2F2F2}.ll{margin:32px 0 0}.lm{padding:3px 8px}.lx> *{margin-right:24px}.ly> :last-child{margin-right:0}.nl{margin:0}.os{font-size:20px}.ot{margin-top:2.14em}.ou{line-height:32px}.ov{letter-spacing:-0.003em}.pe{margin-top:56px}.qf{font-size:24px}.qg{margin-top:1.25em}.qh{line-height:30px}.qi{letter-spacing:-0.016em}.qr{margin-top:0.94em}.qw{margin-top:32px}.rq{margin-top:1.95em}.sa{margin-top:1.14em}.ta{margin-bottom:104px}.tg{flex-direction:row}.tk{margin-bottom:0}.tl{margin-right:20px}.ty{max-width:500px}.uk{line-height:24px}.ul{letter-spacing:0}.vb{margin-bottom:88px}.ve{margin-bottom:72px}.vs{width:min-width}.vx{padding-top:72px}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="all and (min-width: 728px) and (max-width: 903.98px)">.j{display:none}.w{display:flex}.x{justify-content:space-between}.bu{width:64px}.ce{margin:0 48px}.ct{height:48px}.da{margin-bottom:52px}.dm{margin-bottom:48px}.eb{font-size:13px}.ec{line-height:20px}.ej{padding:0px 8px 1px}.fw{margin-bottom:68px}.ga{max-width:680px}.gx{margin:0}.gy{max-width:100%}.hg{margin-top:40px}.id{font-size:42px}.ie{margin-top:1em}.if{line-height:52px}.ig{letter-spacing:-0.011em}.ix{font-size:22px}.iy{margin-top:0.92em}.iz{line-height:28px}.jj{align-items:center}.lf{border-top:solid 1px #F2F2F2}.lg{border-bottom:solid 1px #F2F2F2}.lh{margin:32px 0 0}.li{padding:3px 8px}.lv> *{margin-right:24px}.lw> :last-child{margin-right:0}.oo{font-size:20px}.op{margin-top:2.14em}.oq{line-height:32px}.or{letter-spacing:-0.003em}.pd{margin-top:56px}.qb{font-size:24px}.qc{margin-top:1.25em}.qd{line-height:30px}.qe{letter-spacing:-0.016em}.qq{margin-top:0.94em}.qv{margin-top:32px}.rp{margin-top:1.95em}.rz{margin-top:1.14em}.sz{margin-bottom:104px}.th{flex-direction:row}.tm{margin-bottom:0}.tn{margin-right:20px}.tz{max-width:500px}.ui{line-height:24px}.uj{letter-spacing:0}.va{margin-bottom:88px}.vd{margin-bottom:72px}.vr{width:min-width}.vw{padding-top:72px}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="all and (min-width: 552px) and (max-width: 727.98px)">.k{display:none}.u{display:flex}.v{justify-content:space-between}.bt{width:24px}.cd{margin:0 24px}.cs{height:40px}.cz{margin-bottom:44px}.dl{margin-bottom:32px}.dz{font-size:13px}.ea{line-height:20px}.ei{padding:0px 8px 1px}.fv{margin-bottom:4px}.gv{margin:0}.gw{max-width:100%}.hf{margin-top:32px}.hz{font-size:32px}.ia{margin-top:1.01em}.ib{line-height:38px}.ic{letter-spacing:-0.014em}.iu{font-size:18px}.iv{margin-top:0.79em}.iw{line-height:24px}.ji{align-items:flex-start}.kl{flex-direction:column}.ko{margin-bottom:2px}.ld{margin:24px 0 0}.le{padding:0}.lt> *{margin-right:8px}.lu> :last-child{margin-right:8px}.mk{margin-left:0px}.ny{border:1px solid #F2F2F2}.nz{border-radius:99em}.oa{padding:0px 16px 0px 12px}.ob{height:38px}.oc{align-items:center}.oe svg{margin-right:8px}.ol{margin-top:1.56em}.om{line-height:28px}.on{letter-spacing:-0.003em}.pc{margin-top:40px}.py{font-size:20px}.pz{margin-top:0.93em}.qa{letter-spacing:0}.qp{margin-top:0.67em}.qu{margin-top:24px}.ro{margin-top:1.2em}.ry{margin-top:1.34em}.sy{margin-bottom:96px}.to{margin-bottom:20px}.tp{margin-right:0}.uf{font-size:24px}.ug{line-height:30px}.uh{letter-spacing:-0.016em}.uz{margin-bottom:64px}.vq{width:100%}.vv{padding-top:48px}.od:hover{border-color:#E5E5E5}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="print">.sq{display:none}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="(prefers-reduced-motion: no-preference)">.hl{transition:transform 300ms cubic-bezier(0.2, 0, 0.2, 1)}</style><style type="text/css" data-fela-rehydration="601" data-fela-type="RULE" media="(orientation: landscape) and (max-width: 903.98px)">.ky{max-height:none}</style></head><body><div id="root"><div class="a b c"><div class="d e f g h i j k"></div><script>document.domain = document.domain;</script><div class="l c"><div class="l m n o c"><div class="p q r s t u v w x i d y z"><a class="du ag dv bf ak b am an ao ap aq ar as at s u w i d q dw z" href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com%2Fp%2F51866ffd0bd8&%7Efeature=LoOpenInAppButton&%7Echannel=ShowPostUnderCollection&source=---top_nav_layout_nav----------------------------------" rel="noopener follow">Open in app<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="none" viewBox="0 0 10 10" class="dt"><path fill="currentColor" d="M.985 8.485a.375.375 0 1 0 .53.53zM8.75 1.25h.375A.375.375 0 0 0 8.75.875zM8.375 6.5a.375.375 0 1 0 .75 0zM3.5.875a.375.375 0 1 0 0 .75zm-1.985 8.14 7.5-7.5-.53-.53-7.5 7.5zm6.86-7.765V6.5h.75V1.25zM3.5 1.625h5.25v-.75H3.5z"></path></svg></a><div class="ab q"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><button class="bf b dx dy eh dz ea ei eb ec ej ek ee el em eg eo ep eq er es et eu ev ew ex ey ez fa fb fc fd bm fe ff" data-testid="headerSignUpButton">Sign up</button></span></p><div class="ax l"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSignInButton" rel="noopener follow" href="/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2Fandroiddevelopers%2Fnow-in-android-92-51866ffd0bd8&source=post_page---top_nav_layout_nav-----------------------global_nav-----------">Sign in</a></span></p></div></div></div><div class="p q r ab ac"><div class="ab q ae"><a class="af ag ah ai aj ak al am an ao ap aq ar as at ab" aria-label="Homepage" data-testid="headerMediumLogo" rel="noopener follow" href="/?source=---top_nav_layout_nav----------------------------------"><svg xmlns="http://www.w3.org/2000/svg" width="719" height="160" fill="none" viewBox="0 0 719 160" class="au av aw"><path fill="#242424" d="m174.104 9.734.215-.047V8.02H130.39L89.6 103.89 48.81 8.021H1.472v1.666l.212.047c8.018 1.81 12.09 4.509 12.09 14.242V137.93c0 9.734-4.087 12.433-12.106 14.243l-.212.047v1.671h32.118v-1.665l-.213-.048c-8.018-1.809-12.089-4.509-12.089-14.242V30.586l52.399 123.305h2.972l53.925-126.743V140.75c-.687 7.688-4.721 10.062-11.982 11.701l-.215.05v1.652h55.948v-1.652l-.215-.05c-7.269-1.639-11.4-4.013-12.087-11.701l-.037-116.774h.037c0-9.733 4.071-12.432 12.087-14.242m25.555 75.488c.915-20.474 8.268-35.252 20.606-35.507 3.806.063 6.998 1.312 9.479 3.714 5.272 5.118 7.751 15.812 7.368 31.793zm-.553 5.77h65.573v-.275c-.186-15.656-4.721-27.834-13.466-36.196-7.559-7.227-18.751-11.203-30.507-11.203h-.263c-6.101 0-13.584 1.48-18.909 4.16-6.061 2.807-11.407 7.003-15.855 12.511-7.161 8.874-11.499 20.866-12.554 34.343q-.05.606-.092 1.212a50 50 0 0 0-.065 1.151 85.807 85.807 0 0 0-.094 5.689c.71 30.524 17.198 54.917 46.483 54.917 25.705 0 40.675-18.791 44.407-44.013l-1.886-.664c-6.557 13.556-18.334 21.771-31.738 20.769-18.297-1.369-32.314-19.922-31.042-42.395m139.722 41.359c-2.151 5.101-6.639 7.908-12.653 7.908s-11.513-4.129-15.418-11.63c-4.197-8.053-6.405-19.436-6.405-32.92 0-28.067 8.729-46.22 22.24-46.22 5.657 0 10.111 2.807 12.236 7.704zm43.499 20.008c-8.019-1.897-12.089-4.722-12.089-14.951V1.309l-48.716 14.353v1.757l.299-.024c6.72-.543 11.278.386 13.925 2.83 2.072 1.915 3.082 4.853 3.082 8.987v18.66c-4.803-3.067-10.516-4.56-17.448-4.56-14.059 0-26.909 5.92-36.176 16.672-9.66 11.205-14.767 26.518-14.767 44.278-.003 31.72 15.612 53.039 38.851 53.039 13.595 0 24.533-7.449 29.54-20.013v16.865h43.711v-1.746zM424.1 19.819c0-9.904-7.468-17.374-17.375-17.374-9.859 0-17.573 7.632-17.573 17.374s7.721 17.374 17.573 17.374c9.907 0 17.375-7.47 17.375-17.374m11.499 132.546c-8.019-1.897-12.089-4.722-12.089-14.951h-.035V43.635l-43.714 12.551v1.705l.263.024c9.458.842 12.047 4.1 12.047 15.152v81.086h43.751v-1.746zm112.013 0c-8.018-1.897-12.089-4.722-12.089-14.951V43.635l-41.621 12.137v1.71l.246.026c7.733.813 9.967 4.257 9.967 15.36v59.279c-2.578 5.102-7.415 8.131-13.274 8.336-9.503 0-14.736-6.419-14.736-18.073V43.638l-43.714 12.55v1.703l.262.024c9.459.84 12.05 4.097 12.05 15.152v50.17a56.3 56.3 0 0 0 .91 10.444l.787 3.423c3.701 13.262 13.398 20.197 28.59 20.197 12.868 0 24.147-7.966 29.115-20.43v17.311h43.714v-1.747zm169.818 1.788v-1.749l-.213-.05c-8.7-2.006-12.089-5.789-12.089-13.49v-63.79c0-19.89-11.171-31.761-29.883-31.761-13.64 0-25.141 7.882-29.569 20.16-3.517-13.01-13.639-20.16-28.606-20.16-13.146 0-23.449 6.938-27.869 18.657V43.643L545.487 55.68v1.715l.263.024c9.345.829 12.047 4.181 12.047 14.95v81.784h40.787v-1.746l-.215-.053c-6.941-1.631-9.181-4.606-9.181-12.239V66.998c1.836-4.289 5.537-9.37 12.853-9.37 9.086 0 13.692 6.296 13.692 18.697v77.828h40.797v-1.746l-.215-.053c-6.94-1.631-9.18-4.606-9.18-12.239V75.066a42 42 0 0 0-.578-7.26c1.947-4.661 5.86-10.177 13.475-10.177 9.214 0 13.691 6.114 13.691 18.696v77.828z"></path></svg></a><div class="ax h"><div class="ab ay az ba bb q bc bd"><div class="bm" aria-hidden="false" aria-describedby="searchResults" aria-labelledby="searchResults"></div><div class="bn bo ab"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div><input role="combobox" aria-controls="searchResults" aria-expanded="false" aria-label="search" data-testid="headerSearchInput" tabindex="0" class="ay be bf bg z bh bi bj bk bl" placeholder="Search" value=""/></div></div></div><div class="h k w fg fh"><div class="fi ab"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerWriteButton" rel="noopener follow" href="/m/signin?operation=register&redirect=https%3A%2F%2Fmedium.com%2Fnew-story&source=---top_nav_layout_nav-----------------------new_post_topnav-----------"><div class="bf b bg z du fj fk ab q fl fm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Write"><path fill="currentColor" d="M14 4a.5.5 0 0 0 0-1zm7 6a.5.5 0 0 0-1 0zm-7-7H4v1h10zM3 4v16h1V4zm1 17h16v-1H4zm17-1V10h-1v10zm-1 1a1 1 0 0 0 1-1h-1zM3 20a1 1 0 0 0 1 1v-1zM4 3a1 1 0 0 0-1 1h1z"></path><path stroke="currentColor" d="m17.5 4.5-8.458 8.458a.25.25 0 0 0-.06.098l-.824 2.47a.25.25 0 0 0 .316.316l2.47-.823a.25.25 0 0 0 .098-.06L19.5 6.5m-2-2 2.323-2.323a.25.25 0 0 1 .354 0l1.646 1.646a.25.25 0 0 1 0 .354L19.5 6.5m-2-2 2 2"></path></svg><div class="dt l">Write</div></div></a></span></div></div><div class="k j i d"><div class="fi ab"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSearchButton" rel="noopener follow" href="/search?source=---top_nav_layout_nav----------------------------------"><div class="bf b bg z du fj fk ab q fl fm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Search"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div></a></div></div><div class="fi h k j"><div class="ab q"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><button class="bf b dx dy eh dz ea ei eb ec ej ek ee el em eg eo ep eq er es et eu ev ew ex ey ez fa fb fc fd bm fe ff" data-testid="headerSignUpButton">Sign up</button></span></p><div class="ax l"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSignInButton" rel="noopener follow" href="/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2Fandroiddevelopers%2Fnow-in-android-92-51866ffd0bd8&source=post_page---top_nav_layout_nav-----------------------global_nav-----------">Sign in</a></span></p></div></div></div><div class="l" aria-hidden="false"><button class="ay fn am ab q ao fo fp fq" aria-label="user options menu" data-testid="headerUserIcon"><div class="l fj"><img alt="" class="l fd by bz ca cx" src="https://miro.medium.com/v2/resize:fill:64:64/1*dmbNkD5D-u45r44go_cf0g.png" width="32" height="32" loading="lazy" role="presentation"/><div class="fr by l bz ca fs n ay ft"></div></div></button></div></div></div><div class="l"><div class="fu fv fw fx fy l"><div class="ab cb"><div class="ci bh fz ga gb gc"></div></div><article><div class="l"><div class="l"><span class="l"></span><section><div><div class="fs gi gj gk gl gm"></div><div class="gn go gp gq gr"><div class="gs"><div class="ab cb"><div class="gt gu gv gw gx gy cf gz cg ha ci bh"><figure class="he hf hg hh hi gs hj hk paragraph-image"><div role="button" tabindex="0" class="hl hm fj hn bh ho"><div class="hb hc hd"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*aIux1an8zPUXIhTLY7psfw.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*aIux1an8zPUXIhTLY7psfw.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*aIux1an8zPUXIhTLY7psfw.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*aIux1an8zPUXIhTLY7psfw.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*aIux1an8zPUXIhTLY7psfw.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*aIux1an8zPUXIhTLY7psfw.png 1100w, https://miro.medium.com/v2/resize:fit:2000/format:webp/1*aIux1an8zPUXIhTLY7psfw.png 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*aIux1an8zPUXIhTLY7psfw.png 640w, https://miro.medium.com/v2/resize:fit:720/1*aIux1an8zPUXIhTLY7psfw.png 720w, https://miro.medium.com/v2/resize:fit:750/1*aIux1an8zPUXIhTLY7psfw.png 750w, https://miro.medium.com/v2/resize:fit:786/1*aIux1an8zPUXIhTLY7psfw.png 786w, https://miro.medium.com/v2/resize:fit:828/1*aIux1an8zPUXIhTLY7psfw.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*aIux1an8zPUXIhTLY7psfw.png 1100w, https://miro.medium.com/v2/resize:fit:2000/1*aIux1an8zPUXIhTLY7psfw.png 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px"/><img alt="" class="bh hp hq c" width="1000" height="299" loading="eager" role="presentation"/></picture></div></div></figure></div></div></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div><h1 id="a0c0" class="pw-post-title hr hs ht bf hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip bk" data-testid="storyTitle"><strong class="al">Now in Android #92</strong></h1></div><div><h2 id="0a10" class="pw-subtitle-paragraph iq hs ht bf b ir is it iu iv iw ix iy iz ja jb jc jd je jf cq du"><a class="af jg" href="https://android-developers.googleblog.com/2023/09/studio-bot-expands-to-international-markets.html" rel="noopener ugc nofollow" target="_blank">Studio Bot expansion</a>, <a class="af jg" href="https://www.youtube.com/watch?v=OvLCsH2vKgE" rel="noopener ugc nofollow" target="_blank">Firebase integration</a>, <a class="af jg" href="https://www.youtube.com/watch?v=K1TTzkToDyE&ab_channel=AndroidDevelopers" rel="noopener ugc nofollow" target="_blank">Android Studio</a>, and much more!</h2><div><div class="speechify-ignore ab cp"><div class="speechify-ignore bh l"><div class="jh ji jj jk jl ab"><div><div class="ab jm"><div><div class="bm" aria-hidden="false"><a rel="noopener follow" href="/@alice_yuan?source=post_page---byline--51866ffd0bd8--------------------------------"><div class="l jn jo by jp jq"><div class="l fj"><img alt="Alice Yuan" class="l fd by dd de cx" src="https://miro.medium.com/v2/resize:fill:88:88/1*YO6UsorsU7z0MZzxhXLgNw.jpeg" width="44" height="44" loading="lazy" data-testid="authorPhoto"/><div class="jr by l dd de fs n js ft"></div></div></div></a></div></div><div class="jt ab fj"><div><div class="bm" aria-hidden="false"><a href="https://medium.com/androiddevelopers?source=post_page---byline--51866ffd0bd8--------------------------------" rel="noopener follow"><div class="l ju jv by jp jw"><div class="l fj"><img alt="Android Developers" class="l fd by br jx cx" src="https://miro.medium.com/v2/resize:fill:48:48/1*4Tg6pPzer7cIarYaszIKaQ.png" width="24" height="24" loading="lazy" data-testid="publicationPhoto"/><div class="jr by l br jx fs n js ft"></div></div></div></a></div></div></div></div></div><div class="bn bh l"><div class="ab"><div style="flex:1"><span class="bf b bg z bk"><div class="jy ab q"><div class="ab q jz"><div class="ab q"><div><div class="bm" aria-hidden="false"><p class="bf b ka kb bk"><a class="af ag ah ai aj ak al am an ao ap aq ar kc" data-testid="authorName" rel="noopener follow" href="/@alice_yuan?source=post_page---byline--51866ffd0bd8--------------------------------">Alice Yuan</a></p></div></div></div><span class="kd ke" aria-hidden="true"><span class="bf b bg z du">·</span></span><p class="bf b ka kb du"><span><a class="kf kg ah ai aj ak al am an ao ap aq ar ex kh ki" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fsubscribe%2Fuser%2Feb38ed87b679&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fandroiddevelopers%2Fnow-in-android-92-51866ffd0bd8&user=Alice+Yuan&userId=eb38ed87b679&source=post_page-eb38ed87b679--byline--51866ffd0bd8---------------------post_header-----------">Follow</a></span></p></div></div></span></div></div><div class="l kj"><span class="bf b bg z du"><div class="ab cn kk kl km"><div class="kn ko ab"><div class="bf b bg z du ab kp"><span class="kq l kj">Published in</span><div><div class="l" aria-hidden="false"><a class="af ag ah ai aj ak al am an ao ap aq ar kc ab q" data-testid="publicationName" href="https://medium.com/androiddevelopers?source=post_page---byline--51866ffd0bd8--------------------------------" rel="noopener follow"><p class="bf b bg z kr ks kt ku kv kw kx ky bk">Android Developers</p></a></div></div></div><div class="h k"><span class="kd ke" aria-hidden="true"><span class="bf b bg z du">·</span></span></div></div><span class="bf b bg z du"><div class="ab ae"><span data-testid="storyReadTime">3 min read</span><div class="kz la l" aria-hidden="true"><span class="l" aria-hidden="true"><span class="bf b bg z du">·</span></span></div><span data-testid="storyPublishDate">Oct 4, 2023</span></div></span></div></span></div></div></div><div class="ab cp lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq"><div class="h k w fg fh q"><div class="mg l"><div class="ab q mh mi"><div class="pw-multi-vote-icon fj kq mj mk ml"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fandroiddevelopers%2F51866ffd0bd8&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fandroiddevelopers%2Fnow-in-android-92-51866ffd0bd8&user=Alice+Yuan&userId=eb38ed87b679&source=---header_actions--51866ffd0bd8---------------------clap_footer-----------"><div><div class="bm" aria-hidden="false"><div class="mm ao mn mo mp mq am mr ms mt ml"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l mu mv mw mx my mz na"><p class="bf b dv z du"><span class="nb">--</span></p></div></div></div><div><div class="bm" aria-hidden="false"><button class="ao mm ne nf ab q fk ng nh" aria-label="responses"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="nd"><path d="M18.006 16.803c1.533-1.456 2.234-3.325 2.234-5.321C20.24 7.357 16.709 4 12.191 4S4 7.357 4 11.482c0 4.126 3.674 7.482 8.191 7.482.817 0 1.622-.111 2.393-.327.231.2.48.391.744.559 1.06.693 2.203 1.044 3.399 1.044.224-.008.4-.112.486-.287a.49.49 0 0 0-.042-.518c-.495-.67-.845-1.364-1.04-2.057a4 4 0 0 1-.125-.598zm-3.122 1.055-.067-.223-.315.096a8 8 0 0 1-2.311.338c-4.023 0-7.292-2.955-7.292-6.587 0-3.633 3.269-6.588 7.292-6.588 4.014 0 7.112 2.958 7.112 6.593 0 1.794-.608 3.469-2.027 4.72l-.195.168v.255c0 .056 0 .151.016.295.025.231.081.478.154.733.154.558.398 1.117.722 1.659a5.3 5.3 0 0 1-2.165-.845c-.276-.176-.714-.383-.941-.59z"></path></svg><p class="bf b dv z du"><span class="pw-responses-count nc nd">1</span></p></button></div></div></div><div class="ab q lr ls lt lu lv lw lx ly lz ma mb mc md me mf"><div class="ni k j i d"></div><div class="h k"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerBookmarkButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F51866ffd0bd8&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fandroiddevelopers%2Fnow-in-android-92-51866ffd0bd8&source=---header_actions--51866ffd0bd8---------------------bookmark_footer-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="du nj" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div><div class="fd nk cn"><div class="l ae"><div class="ab cb"><div class="gt gv gx nl nm hp ci bh"><div class="ab"><div class="bm bh" aria-hidden="false"><div><div class="bm" aria-hidden="false"><button aria-label="Listen" data-testid="audioPlayButton" class="af fk ah ai aj ak al nn an ao ap ex no np nh nq nr ns nt nu s nv nw nx ny nz oa ob u oc od oe"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0m9-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m3.376 10.416-4.599 3.066a.5.5 0 0 1-.777-.416V8.934a.5.5 0 0 1 .777-.416l4.599 3.066a.5.5 0 0 1 0 .832" clip-rule="evenodd"></path></svg><div class="j i d"><p class="bf b bg z du">Listen</p></div></button></div></div></div></div></div></div></div></div><div class="bm" aria-hidden="false" aria-describedby="postFooterSocialMenu" aria-labelledby="postFooterSocialMenu"><div><div class="bm" aria-hidden="false"><button aria-controls="postFooterSocialMenu" aria-expanded="false" aria-label="Share Post" data-testid="headerSocialShareButton" class="af fk ah ai aj ak al nn an ao ap ex no np nh nq nr ns nt nu s nv nw nx ny nz oa ob u oc od oe"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M15.218 4.931a.4.4 0 0 1-.118.132l.012.006a.45.45 0 0 1-.292.074.5.5 0 0 1-.3-.13l-2.02-2.02v7.07c0 .28-.23.5-.5.5s-.5-.22-.5-.5v-7.04l-2 2a.45.45 0 0 1-.57.04h-.02a.4.4 0 0 1-.16-.3.4.4 0 0 1 .1-.32l2.8-2.8a.5.5 0 0 1 .7 0l2.8 2.79a.42.42 0 0 1 .068.498m-.106.138.008.004v-.01zM16 7.063h1.5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-11c-1.1 0-2-.9-2-2v-10a2 2 0 0 1 2-2H8a.5.5 0 0 1 .35.15.5.5 0 0 1 .15.35.5.5 0 0 1-.15.35.5.5 0 0 1-.35.15H6.4c-.5 0-.9.4-.9.9v10.2a.9.9 0 0 0 .9.9h11.2c.5 0 .9-.4.9-.9v-10.2c0-.5-.4-.9-.9-.9H16a.5.5 0 0 1 0-1" clip-rule="evenodd"></path></svg><div class="j i d"><p class="bf b bg z du">Share</p></div></button></div></div></div></div></div></div></div></div></div><p id="fa36" class="pw-post-body-paragraph of og ht oh b ir oi oj ok iu ol om on oo op oq or os ot ou ov ow ox oy oz pa gn bk">Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.</p><figure class="pb pc pd pe pf gs"><div class="pg kr l fj"><div class="ph pi l"></div></div></figure><figure class="pb pc pd pe pf gs"><div class="pg kr l fj"><div class="pj pi l"></div></div></figure><p id="acad" class="pw-post-body-paragraph of og ht oh b ir oi oj ok iu ol om on oo op oq or os ot ou ov ow ox oy oz pa gn bk">Most of the content of this post is available in the form of a <a class="af jg" href="https://www.youtube.com/watch?v=jpU6hjzOLRE&list=PLWz5rJ2EKKc9AtgKMBBdphI-mrx8XzW56" rel="noopener ugc nofollow" target="_blank">video</a> or <a class="af jg" href="https://nowinandroid.libsyn.com/92-studio-bot-expansion-firebase-integration-android-studio-and-much-more" rel="noopener ugc nofollow" target="_blank">podcast</a>, so feel free to <a class="af jg" href="https://www.youtube.com/watch?v=jpU6hjzOLRE&list=PLWz5rJ2EKKc9AtgKMBBdphI-mrx8XzW56" rel="noopener ugc nofollow" target="_blank">watch</a> or <a class="af jg" href="https://nowinandroid.libsyn.com/92-studio-bot-expansion-firebase-integration-android-studio-and-much-more" rel="noopener ugc nofollow" target="_blank">listen</a> rather than read on. (Or do all three to help you remember! There won’t be a quiz.)</p></div></div></div><div class="ab cb pk pl pm pn" role="separator"><span class="po by bm pp pq pr"></span><span class="po by bm pp pq pr"></span><span class="po by bm pp pq"></span></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><h1 id="0077" class="ps pt ht bf pu pv pw it px py pz iw qa qb qc qd qe qf qg qh qi qj qk ql qm qn bk"><a class="af jg" href="http://android-developers.googleblog.com/2023/09/studio-bot-expands-to-international-markets.html" rel="noopener ugc nofollow" target="_blank">Studio Bot expands to 170+ international markets!</a>💥</h1><p id="d618" class="pw-post-body-paragraph of og ht oh b ir qo oj ok iu qp om on oo qq oq or os qr ou ov ow qs oy oz pa gn bk">At this year’s Google I/O, we introduced <a class="af jg" href="https://developer.android.com/studio/preview/studio-bot" rel="noopener ugc nofollow" target="_blank">Studio Bot</a>, an AI-powered coding assistant which can be accessed directly in Android Studio.</p><p id="6cb6" class="pw-post-body-paragraph of og ht oh b ir oi oj ok iu ol om on oo op oq or os ot ou ov ow ox oy oz pa gn bk">After our announcement those of you outside of the U.S told us you were eager to get your hands on it. We heard your feedback, and have expanded Studio Bot to <a class="af jg" href="https://developer.android.com/studio/preview/studio-bot/availability" rel="noopener ugc nofollow" target="_blank">over 170 countries and territories</a> in the canary release channel of <a class="af jg" href="https://developer.android.com/studio/preview" rel="noopener ugc nofollow" target="_blank">Android Studio</a>.</p><div class="qt qu qv qw qx qy"><a href="https://developer.android.com/studio/preview?source=post_page-----51866ffd0bd8--------------------------------" rel="noopener ugc nofollow" target="_blank"><div class="qz ab kj"><div class="ra ab co cb rb rc"><h2 class="bf hu ka z kr rd kt ku re kw ky hs bk">Android Studio Preview | Android Developers</h2><div class="rf l"><h3 class="bf b ka z kr rd kt ku re kw ky du">Get early access to the latest features and improvements in Android Studio.</h3></div><div class="rg l"><p class="bf b dv z kr rd kt ku re kw ky du">developer.android.com</p></div></div><div class="rh l"><div class="ri l rj rk rl rh rm hp qy"></div></div></div></a></div><h1 id="df5b" class="ps pt ht bf pu pv rn it px py ro iw qa qb rp qd qe qf rq qh qi qj rr ql qm qn bk"><a class="af jg" href="https://www.youtube.com/watch?v=OvLCsH2vKgE" rel="noopener ugc nofollow" target="_blank">Podcast on Firebase in Android Studio</a> <a class="af jg" href="https://emojipedia.org/studio-microphone/" rel="noopener ugc nofollow" target="_blank">🎙️</a></h1><p id="9848" class="pw-post-body-paragraph of og ht oh b ir qo oj ok iu qp om on oo qq oq or os qr ou ov ow qs oy oz pa gn bk">Check out episode 201 of the Android Developers Backstage podcast, on <a class="af jg" href="https://www.youtube.com/watch?v=OvLCsH2vKgE" rel="noopener ugc nofollow" target="_blank">Firebase in Android Studio</a>!</p><p id="4de0" class="pw-post-body-paragraph of og ht oh b ir oi oj ok iu ol om on oo op oq or os ot ou ov ow ox oy oz pa gn bk">Tor and Romain chat with Greg Baker and Joe Baker-Malone about exciting new Android Studio features made possible by the Firebase integration. Features such as physical device streaming allow you to connect remotely to physical devices hosted in Google’s secure data centers. We also explore other time saving features like the ability to go from a crash report directly to the correct line of code.</p><p id="5cdc" class="pw-post-body-paragraph of og ht oh b ir oi oj ok iu ol om on oo op oq or os ot ou ov ow ox oy oz pa gn bk">You can check out the episode in <a class="af jg" href="https://adbackstage.libsyn.com/episode-201-firebase-in-android-studio" rel="noopener ugc nofollow" target="_blank">podcast</a> or <a class="af jg" href="https://www.youtube.com/watch?v=OvLCsH2vKgE" rel="noopener ugc nofollow" target="_blank">video</a> format.</p><figure class="pb pc pd pe pf gs"><div class="pg kr l fj"><div class="ph pi l"></div></div></figure><figure class="pb pc pd pe pf gs"><div class="pg kr l fj"><div class="pj pi l"></div></div></figure><h1 id="07ff" class="ps pt ht bf pu pv rn it px py ro iw qa qb rp qd qe qf rq qh qi qj rr ql qm qn bk"><a class="af jg" href="https://www.youtube.com/watch?v=K1TTzkToDyE&ab_channel=AndroidDevelopers" rel="noopener ugc nofollow" target="_blank">Check out the new UI for Android Studio</a> 💅</h1><p id="26c2" class="pw-post-body-paragraph of og ht oh b ir qo oj ok iu qp om on oo qq oq or os qr ou ov ow qs oy oz pa gn bk">The stable release of Android Studio Giraffe comes with a new user interface! This new UI for Android Studio aims to reduce complexity, provide easier access to essential features, and disclose complex functionality as needed.</p><p id="cb8f" class="pw-post-body-paragraph of og ht oh b ir oi oj ok iu ol om on oo op oq or os ot ou ov ow ox oy oz pa gn bk">Learn more about the changes in <a class="af jg" href="https://www.youtube.com/watch?v=K1TTzkToDyE&ab_channel=AndroidDevelopers" rel="noopener ugc nofollow" target="_blank">video</a> or <a class="af jg" href="https://www.youtube.com/watch?v=QzefIO6lJpw" rel="noopener ugc nofollow" target="_blank">short</a> format.</p><figure class="pb pc pd pe pf gs"><div class="pg kr l fj"><div class="ph pi l"></div></div></figure><h1 id="9e1d" class="ps pt ht bf pu pv rn it px py ro iw qa qb rp qd qe qf rq qh qi qj rr ql qm qn bk">Articles 📚</h1><p id="661d" class="pw-post-body-paragraph of og ht oh b ir qo oj ok iu qp om on oo qq oq or os qr ou ov ow qs oy oz pa gn bk">Check out the two part Medium series Simona writes on <a class="af jg" rel="noopener" href="/androiddevelopers/migrating-to-jetpack-compose-an-interop-love-story-part-1-3693ca3ae981">Migrating to Jetpack Compose — an interop love story</a>. In <a class="af jg" rel="noopener" href="/androiddevelopers/migrating-to-jetpack-compose-an-interop-love-story-part-1-3693ca3ae981">part 1</a> she dives into foundational topics including migration prep, dependencies and theming and the smallest common UI components. In <a class="af jg" rel="noopener" href="/androiddevelopers/migrating-to-jetpack-compose-an-interop-love-story-part-2-370fdd978c33">part 2</a> she dives into more complex topics including migration of more complex components, low risk screens and complex screens.</p><div class="qt qu qv qw qx qy"><a rel="noopener follow" target="_blank" href="/androiddevelopers/migrating-to-jetpack-compose-an-interop-love-story-part-1-3693ca3ae981?source=post_page-----51866ffd0bd8--------------------------------"><div class="qz ab kj"><div class="ra ab co cb rb rc"><h2 class="bf hu ka z kr rd kt ku re kw ky hs bk">Migrating to Jetpack Compose — an interop love story [part 1]</h2><div class="rf l"><h3 class="bf b ka z kr rd kt ku re kw ky du">A How-To guide covering a “common UI first” migration strategy of a View sample to Jetpack Compose.</h3></div><div class="rg l"><p class="bf b dv z kr rd kt ku re kw ky du">medium.com</p></div></div><div class="rh l"><div class="rs l rj rk rl rh rm hp qy"></div></div></div></a></div><div class="qt qu qv qw qx qy"><a rel="noopener follow" target="_blank" href="/androiddevelopers/migrating-to-jetpack-compose-an-interop-love-story-part-2-370fdd978c33?source=post_page-----51866ffd0bd8--------------------------------"><div class="qz ab kj"><div class="ra ab co cb rb rc"><h2 class="bf hu ka z kr rd kt ku re kw ky hs bk">Migrating to Jetpack Compose — an interop love story [part 2]</h2><div class="rf l"><h3 class="bf b ka z kr rd kt ku re kw ky du">This blog series covers a “common UI first” migration strategy of a View sample to Jetpack Compose.</h3></div><div class="rg l"><p class="bf b dv z kr rd kt ku re kw ky du">medium.com</p></div></div><div class="rh l"><div class="rs l rj rk rl rh rm hp qy"></div></div></div></a></div><p id="280c" class="pw-post-body-paragraph of og ht oh b ir oi oj ok iu ol om on oo op oq or os ot ou ov ow ox oy oz pa gn bk">Also we covered how <a class="af jg" href="http://android-developers.googleblog.com/2023/09/kakao-games-increased-fps-stability-through-android-adapatability.html" rel="noopener ugc nofollow" target="_blank">Kakao Games increased FPS stability to 96% through Android Adaptability</a>, a set of tools and libraries to understand and respond to changing performance, thermal, and user situations in real time.</p><div class="qt qu qv qw qx qy"><a href="https://android-developers.googleblog.com/2023/09/kakao-games-increased-fps-stability-through-android-adapatability.html?source=post_page-----51866ffd0bd8--------------------------------" rel="noopener ugc nofollow" target="_blank"><div class="qz ab kj"><div class="ra ab co cb rb rc"><h2 class="bf hu ka z kr rd kt ku re kw ky hs bk">Kakao Games increased FPS stability to 96% through Android Adaptability</h2><div class="rf l"><h3 class="bf b ka z kr rd kt ku re kw ky du">Kakao Games used Android Adaptability and Unity Adaptive Performance to improve the performance and thermal management…</h3></div><div class="rg l"><p class="bf b dv z kr rd kt ku re kw ky du">android-developers.googleblog.com</p></div></div><div class="rh l"><div class="rt l rj rk rl rh rm hp qy"></div></div></div></a></div><h1 id="f9d0" class="ps pt ht bf pu pv rn it px py ro iw qa qb rp qd qe qf rq qh qi qj rr ql qm qn bk">AndroidX Releases 🚀</h1><p id="5c10" class="pw-post-body-paragraph of og ht oh b ir qo oj ok iu qp om on oo qq oq or os qr ou ov ow qs oy oz pa gn bk">We had several exciting new features launched in Android Jetpack:</p><ul class=""><li id="8cab" class="of og ht oh b ir oi oj ok iu ol om on oo op oq or os ot ou ov ow ox oy oz pa ru rv rw bk"><a class="af jg" href="https://developer.android.com/jetpack/androidx/releases/camera#1.4.0-alpha01" rel="noopener ugc nofollow" target="_blank">Camera 1.4 Alpha 1</a> adds a new API to access audio amplitude information while recording.</li><li id="ca6d" class="of og ht oh b ir rx oj ok iu ry om on oo rz oq or os sa ou ov ow sb oy oz pa ru rv rw bk"><a class="af jg" href="https://developer.android.com/jetpack/androidx/releases/coordinatorlayout#1.3.0-alpha01" rel="noopener ugc nofollow" target="_blank">CoordinatorLayout 1.3 Alpha 1</a> adds support for page up, page down, move home, and move end key events.</li><li id="5e9f" class="of og ht oh b ir rx oj ok iu ry om on oo rz oq or os sa ou ov ow sb oy oz pa ru rv rw bk">Finally, <a class="af jg" href="https://developer.android.com/jetpack/androidx/releases/paging#3.3.0-alpha01" rel="noopener ugc nofollow" target="_blank">Paging 3.3 Alpha 2</a> ships artifacts compatible with Kotlin Multiplatform.</li></ul><p id="b0f8" class="pw-post-body-paragraph of og ht oh b ir oi oj ok iu ol om on oo op oq or os ot ou ov ow ox oy oz pa gn bk">You can see all the AndroidX release notes <a class="af jg" href="https://developer.android.com/jetpack/androidx/versions/all-channel" rel="noopener ugc nofollow" target="_blank">here</a>.</p><div class="qt qu qv qw qx qy"><a href="https://developer.android.com/jetpack/androidx/versions/all-channel?source=post_page-----51866ffd0bd8--------------------------------" rel="noopener ugc nofollow" target="_blank"><div class="qz ab kj"><div class="ra ab co cb rb rc"><h2 class="bf hu ka z kr rd kt ku re kw ky hs bk">Recent Release Notes | Android Developers</h2><div class="rf l"><h3 class="bf b ka z kr rd kt ku re kw ky du">the Jetpack team started signing Jetpack libraries in June 2023. For more information, see Each version of an AndroidX…</h3></div><div class="rg l"><p class="bf b dv z kr rd kt ku re kw ky du">developer.android.com</p></div></div><div class="rh l"><div class="sc l rj rk rl rh rm hp qy"></div></div></div></a></div><h1 id="58d6" class="ps pt ht bf pu pv rn it px py ro iw qa qb rp qd qe qf rq qh qi qj rr ql qm qn bk">Now then… 👋</h1><p id="4bc0" class="pw-post-body-paragraph of og ht oh b ir qo oj ok iu qp om on oo qq oq or os qr ou ov ow qs oy oz pa gn bk">That’s it for this week with <a class="af jg" href="http://android-developers.googleblog.com/2023/09/studio-bot-expands-to-international-markets.html" rel="noopener ugc nofollow" target="_blank">Studio bot Expansion</a>, <a class="af jg" href="https://www.youtube.com/watch?v=OvLCsH2vKgE" rel="noopener ugc nofollow" target="_blank">Firebase Integration</a>, <a class="af jg" href="https://www.youtube.com/watch?v=K1TTzkToDyE&ab_channel=AndroidDevelopers" rel="noopener ugc nofollow" target="_blank">Android Studio</a>, <a class="af jg" rel="noopener" href="/androiddevelopers/migrating-to-jetpack-compose-an-interop-love-story-part-1-3693ca3ae981">Jetpack Compose</a>, <a class="af jg" href="https://developer.android.com/jetpack/androidx/versions/all-channel" rel="noopener ugc nofollow" target="_blank">AndroidX</a> and more!</p><p id="a886" class="pw-post-body-paragraph of og ht oh b ir oi oj ok iu ol om on oo op oq or os ot ou ov ow ox oy oz pa gn bk">Check back soon for the next update from the Android developer universe! 💫</p></div></div></div></div></section></div></div></article></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="sd se ab km"><div class="rf ab"><a class="sf ay am ao" rel="noopener follow" href="/tag/kotlin?source=post_page-----51866ffd0bd8--------------------------------"><div class="sg fj cx sh ge si sj bf b bg z bk sk">Kotlin</div></a></div><div class="rf ab"><a class="sf ay am ao" rel="noopener follow" href="/tag/android-studio?source=post_page-----51866ffd0bd8--------------------------------"><div class="sg fj cx sh ge si sj bf b bg z bk sk">Android Studio</div></a></div><div class="rf ab"><a class="sf ay am ao" rel="noopener follow" href="/tag/firebase?source=post_page-----51866ffd0bd8--------------------------------"><div class="sg fj cx sh ge si sj bf b bg z bk sk">Firebase</div></a></div><div class="rf ab"><a class="sf ay am ao" rel="noopener follow" href="/tag/featured?source=post_page-----51866ffd0bd8--------------------------------"><div class="sg fj cx sh ge si sj bf b bg z bk sk">Featured</div></a></div><div class="rf ab"><a class="sf ay am ao" rel="noopener follow" href="/tag/now-in-android?source=post_page-----51866ffd0bd8--------------------------------"><div class="sg fj cx sh ge si sj bf b bg z bk sk">Now In Android</div></a></div></div></div></div><div class="l"></div><footer class="sl pl sm sn so ab q sp jw c"><div class="l ae"><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab cp sq"><div class="ab q mh"><div class="sr l"><span class="l ss st su e d"><div class="ab q mh mi"><div class="pw-multi-vote-icon fj kq mj mk ml"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fandroiddevelopers%2F51866ffd0bd8&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fandroiddevelopers%2Fnow-in-android-92-51866ffd0bd8&user=Alice+Yuan&userId=eb38ed87b679&source=---footer_actions--51866ffd0bd8---------------------clap_footer-----------"><div><div class="bm" aria-hidden="false"><div class="mm ao mn mo mp mq am mr ms mt ml"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l mu mv mw mx my mz na"><p class="bf b dv z du"><span class="nb">--</span></p></div></div></span><span class="l h g f sv sw"><div class="ab q mh mi"><div class="pw-multi-vote-icon fj kq mj mk ml"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fandroiddevelopers%2F51866ffd0bd8&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fandroiddevelopers%2Fnow-in-android-92-51866ffd0bd8&user=Alice+Yuan&userId=eb38ed87b679&source=---footer_actions--51866ffd0bd8---------------------clap_footer-----------"><div><div class="bm" aria-hidden="false"><div class="mm ao mn mo mp mq am mr ms mt ml"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l mu mv mw mx my mz na"><p class="bf b dv z du"><span class="nb">--</span></p></div></div></span></div><div class="bq ab"><div><div class="bm" aria-hidden="false"><button class="ao mm ne nf ab q fk ng nh" aria-label="responses"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="nd"><path d="M18.006 16.803c1.533-1.456 2.234-3.325 2.234-5.321C20.24 7.357 16.709 4 12.191 4S4 7.357 4 11.482c0 4.126 3.674 7.482 8.191 7.482.817 0 1.622-.111 2.393-.327.231.2.48.391.744.559 1.06.693 2.203 1.044 3.399 1.044.224-.008.4-.112.486-.287a.49.49 0 0 0-.042-.518c-.495-.67-.845-1.364-1.04-2.057a4 4 0 0 1-.125-.598zm-3.122 1.055-.067-.223-.315.096a8 8 0 0 1-2.311.338c-4.023 0-7.292-2.955-7.292-6.587 0-3.633 3.269-6.588 7.292-6.588 4.014 0 7.112 2.958 7.112 6.593 0 1.794-.608 3.469-2.027 4.72l-.195.168v.255c0 .056 0 .151.016.295.025.231.081.478.154.733.154.558.398 1.117.722 1.659a5.3 5.3 0 0 1-2.165-.845c-.276-.176-.714-.383-.941-.59z"></path></svg><p class="bf b bg z du"><span class="pw-responses-count nc nd">1</span></p></button></div></div></div></div><div class="ab q"><div class="pr l kj"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerBookmarkButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F51866ffd0bd8&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fandroiddevelopers%2Fnow-in-android-92-51866ffd0bd8&source=---footer_actions--51866ffd0bd8---------------------bookmark_footer-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="du nj" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div><div class="pr l kj"><div class="bm" aria-hidden="false" aria-describedby="postFooterSocialMenu" aria-labelledby="postFooterSocialMenu"><div><div class="bm" aria-hidden="false"><button aria-controls="postFooterSocialMenu" aria-expanded="false" aria-label="Share Post" data-testid="footerSocialShareButton" class="af fk ah ai aj ak al nn an ao ap ex no np nh nq"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M15.218 4.931a.4.4 0 0 1-.118.132l.012.006a.45.45 0 0 1-.292.074.5.5 0 0 1-.3-.13l-2.02-2.02v7.07c0 .28-.23.5-.5.5s-.5-.22-.5-.5v-7.04l-2 2a.45.45 0 0 1-.57.04h-.02a.4.4 0 0 1-.16-.3.4.4 0 0 1 .1-.32l2.8-2.8a.5.5 0 0 1 .7 0l2.8 2.79a.42.42 0 0 1 .068.498m-.106.138.008.004v-.01zM16 7.063h1.5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-11c-1.1 0-2-.9-2-2v-10a2 2 0 0 1 2-2H8a.5.5 0 0 1 .35.15.5.5 0 0 1 .15.35.5.5 0 0 1-.15.35.5.5 0 0 1-.35.15H6.4c-.5 0-.9.4-.9.9v10.2a.9.9 0 0 0 .9.9h11.2c.5 0 .9-.4.9-.9v-10.2c0-.5-.4-.9-.9-.9H16a.5.5 0 0 1 0-1" clip-rule="evenodd"></path></svg></button></div></div></div></div></div></div></div></div></div></footer><div class="sx sy sz ta tb l"><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="tc bh r td"></div><div class="te l"><div class="ab tf tg th kl kk"><div class="ti tj tk tl tm tn to tp tq tr ab cp"><div class="h k"><a href="https://medium.com/androiddevelopers?source=post_page---post_publication_info--51866ffd0bd8--------------------------------" rel="noopener follow"><div class="fj ab"><img alt="Android Developers" class="ts jn jo cx" src="https://miro.medium.com/v2/resize:fill:96:96/1*4Tg6pPzer7cIarYaszIKaQ.png" width="48" height="48" loading="lazy"/><div class="ts l jo jn fs n fr tt"></div></div></a></div><div class="j i d"><a href="https://medium.com/androiddevelopers?source=post_page---post_publication_info--51866ffd0bd8--------------------------------" rel="noopener follow"><div class="fj ab"><img alt="Android Developers" class="ts tv tu cx" src="https://miro.medium.com/v2/resize:fill:128:128/1*4Tg6pPzer7cIarYaszIKaQ.png" width="64" height="64" loading="lazy"/><div class="ts l tu tv fs n fr tt"></div></div></a></div><div class="j i d tw kj"><div class="ab"></div></div></div><div class="ab co rb"><div class="tx ty tz gw gu l"><a class="af ag ah aj ak al am an ao ap aq ar as at ab q" href="https://medium.com/androiddevelopers?source=post_page---post_publication_info--51866ffd0bd8--------------------------------" rel="noopener follow"><h2 class="pw-author-name bf ub uc ud ue uf ug uh oo ui uj os uk ul ow um un bk"><span class="gn ua">Published in <!-- -->Android Developers</span></h2></a><div class="rf ab jm"><div class="l kj"><span class="pw-follower-count bf b bg z du"><a class="af ag ah ai aj ak al am an ao ap aq ar kc" rel="noopener follow" href="/androiddevelopers/followers?source=post_page---post_publication_info--51866ffd0bd8--------------------------------">51K Followers</a></span></div><div class="bf b bg z du ab kp"><span class="kd l" aria-hidden="true"><span class="bf b bg z du">·</span></span><a class="af ag ah ai aj ak al am an ao ap aq ar kc" rel="noopener follow" href="/androiddevelopers/test-smarter-not-harder-new-testing-strategies-documentation-255973814ae3?source=post_page---post_publication_info--51866ffd0bd8--------------------------------">Last published <!-- -->1 day ago</a></div></div><div class="uo l"><p class="bf b bg z bk"><span class="gn">Articles on modern tools and resources to help you build experiences that people love, faster and easier, across every Android device.</span></p></div></div></div><div class="h k"><div class="ab"></div></div></div></div><div class="ab tf tg th kl kk"><div class="ti tj tk tl tm tn to tp tq tr ab cp"><div class="h k"><a tabindex="0" rel="noopener follow" href="/@alice_yuan?source=post_page---post_author_info--51866ffd0bd8--------------------------------"><div class="l fj"><img alt="Alice Yuan" class="l fd by jo jn cx" src="https://miro.medium.com/v2/resize:fill:96:96/1*YO6UsorsU7z0MZzxhXLgNw.jpeg" width="48" height="48" loading="lazy"/><div class="fr by l jo jn fs n ay tt"></div></div></a></div><div class="j i d"><a tabindex="0" rel="noopener follow" href="/@alice_yuan?source=post_page---post_author_info--51866ffd0bd8--------------------------------"><div class="l fj"><img alt="Alice Yuan" class="l fd by tu tv cx" src="https://miro.medium.com/v2/resize:fill:128:128/1*YO6UsorsU7z0MZzxhXLgNw.jpeg" width="64" height="64" loading="lazy"/><div class="fr by l tu tv fs n ay tt"></div></div></a></div><div class="j i d tw kj"><div class="ab"><span><button class="bf b bg z up sg uq ur us ut uu ev ew uv uw ux fa fb fc fd bm fe ff">Follow</button></span></div></div></div><div class="ab co rb"><div class="tx ty tz gw gu l"><a class="af ag ah aj ak al am an ao ap aq ar as at ab q" rel="noopener follow" href="/@alice_yuan?source=post_page---post_author_info--51866ffd0bd8--------------------------------"><h2 class="pw-author-name bf ub uc ud ue uf ug uh oo ui uj os uk ul ow um un bk"><span class="gn ua">Written by <!-- -->Alice Yuan</span></h2></a><div class="rf ab jm"><div class="l kj"><span class="pw-follower-count bf b bg z du"><a class="af ag ah ai aj ak al am an ao ap aq ar kc" rel="noopener follow" href="/@alice_yuan/followers?source=post_page---post_author_info--51866ffd0bd8--------------------------------">428 Followers</a></span></div><div class="bf b bg z du ab kp"><span class="kd l" aria-hidden="true"><span class="bf b bg z du">·</span></span><a class="af ag ah ai aj ak al am an ao ap aq ar kc" rel="noopener follow" href="/@alice_yuan/following?source=post_page---post_author_info--51866ffd0bd8--------------------------------">178 Following</a></div></div><div class="uo l"><p class="bf b bg z bk"><span class="gn">Android Developer Relations at Google. I talk about Android and also make comics!</span></p></div></div></div><div class="h k"><div class="ab"><span><button class="bf b bg z up sg uq ur us ut uu ev ew uv uw ux fa fb fc fd bm fe ff">Follow</button></span></div></div></div></div></div></div><div class="uy uz va vb vc l"><div class="tc bh r uy uz vd ve vf"></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab q cp"><h2 class="bf ub pv it px py iw qa qb qd qe qf qh qi qj ql qm bk">Responses (<!-- -->1<!-- -->)</h2><div class="ab vg"><div><div class="bm" aria-hidden="false"><a class="vh vi" href="https://policy.medium.com/medium-rules-30e5502c4eb4?source=post_page---post_responses--51866ffd0bd8--------------------------------" rel="noopener follow" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25"><path fill-rule="evenodd" d="M11.987 5.036a.754.754 0 0 1 .914-.01c.972.721 1.767 1.218 2.6 1.543.828.322 1.719.485 2.887.505a.755.755 0 0 1 .741.757c-.018 3.623-.43 6.256-1.449 8.21-1.034 1.984-2.662 3.209-4.966 4.083a.75.75 0 0 1-.537-.003c-2.243-.874-3.858-2.095-4.897-4.074-1.024-1.951-1.457-4.583-1.476-8.216a.755.755 0 0 1 .741-.757c1.195-.02 2.1-.182 2.923-.503.827-.322 1.6-.815 2.519-1.535m.468.903c-.897.69-1.717 1.21-2.623 1.564-.898.35-1.856.527-3.026.565.037 3.45.469 5.817 1.36 7.515.884 1.684 2.25 2.762 4.284 3.571 2.092-.81 3.465-1.89 4.344-3.575.886-1.698 1.299-4.065 1.334-7.512-1.149-.039-2.091-.217-2.99-.567-.906-.353-1.745-.873-2.683-1.561m-.009 9.155a2.672 2.672 0 1 0 0-5.344 2.672 2.672 0 0 0 0 5.344m0 1a3.672 3.672 0 1 0 0-7.344 3.672 3.672 0 0 0 0 7.344m-1.813-3.777.525-.526.916.917 1.623-1.625.526.526-2.149 2.152z" clip-rule="evenodd"></path></svg></a></div></div></div></div><div class="pk l"><button class="bf b bg z bk sg vj vk vl nj ng uu ev ew ex vm vn vo fa vp vq vr vs vt fb fc fd bm fe ff">See all responses</button></div></div></div></div><div class="vu vv vw vx vy l bx"><div class="h k j"><div class="tc bh vz wa"></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="wb ab mh km"><div class="wc wd l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://help.medium.com/hc/en-us?source=post_page-----51866ffd0bd8--------------------------------" rel="noopener follow"><p class="bf b dv z du">Help</p></a></div><div class="wc wd l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://medium.statuspage.io/?source=post_page-----51866ffd0bd8--------------------------------" rel="noopener follow"><p class="bf b dv z du">Status</p></a></div><div class="wc wd l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/about?autoplay=1&source=post_page-----51866ffd0bd8--------------------------------"><p class="bf b dv z du">About</p></a></div><div class="wc wd l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/jobs-at-medium/work-at-medium-959d1a85284e?source=post_page-----51866ffd0bd8--------------------------------"><p class="bf b dv z du">Careers</p></a></div><div class="wc wd l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="pressinquiries@medium.com?source=post_page-----51866ffd0bd8--------------------------------" rel="noopener follow"><p class="bf b dv z du">Press</p></a></div><div class="wc wd l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://blog.medium.com/?source=post_page-----51866ffd0bd8--------------------------------" rel="noopener follow"><p class="bf b dv z du">Blog</p></a></div><div class="wc wd l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9?source=post_page-----51866ffd0bd8--------------------------------" rel="noopener follow"><p class="bf b dv z du">Privacy</p></a></div><div class="wc wd l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f?source=post_page-----51866ffd0bd8--------------------------------" rel="noopener follow"><p class="bf b dv z du">Terms</p></a></div><div class="wc wd l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://speechify.com/medium?source=post_page-----51866ffd0bd8--------------------------------" rel="noopener follow"><p class="bf b dv z du">Text to speech</p></a></div><div class="wc l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/business?source=post_page-----51866ffd0bd8--------------------------------"><p class="bf b dv z du">Teams</p></a></div></div></div></div></div></div></div></div></div></div><script>window.__BUILD_ID__="main-20241122-185319-7bcdc08639"</script><script>window.__GRAPHQL_URI__ = "https://medium.com/_/graphql"</script><script>window.__PRELOADED_STATE__ = {"algolia":{"queries":{}},"cache":{"experimentGroupSet":true,"reason":"","group":"enabled","tags":["group-edgeCachePosts","post-51866ffd0bd8","user-eb38ed87b679","collection-95b274b437c2"],"serverVariantState":"44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a","middlewareEnabled":true,"cacheStatus":"DYNAMIC","shouldUseCache":true,"vary":[],"lohpSummerUpsellEnabled":false,"publicationHierarchyEnabledWeb":false,"postBottomResponsesEnabled":false},"client":{"hydrated":false,"isUs":false,"isNativeMedium":false,"isSafariMobile":false,"isSafari":false,"isFirefox":false,"routingEntity":{"type":"DEFAULT","explicit":false},"viewerIsBot":false},"debug":{"requestId":"f863547d-4704-4792-933f-81152e2e0c20","hybridDevServices":[],"originalSpanCarrier":{"traceparent":"00-74560c46eb725e0287bc316d622c4f50-a34244c72dc5d9ea-01"}},"multiVote":{"clapsPerPost":{}},"navigation":{"branch":{"show":null,"hasRendered":null,"blockedByCTA":false},"hideGoogleOneTap":false,"hasRenderedAlternateUserBanner":null,"currentLocation":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fnow-in-android-92-51866ffd0bd8","host":"medium.com","hostname":"medium.com","referrer":"","hasSetReferrer":false,"susiModal":{"step":null,"operation":"register"},"postRead":false,"partnerProgram":{"selectedCountryCode":null},"queryString":"","currentHash":""},"config":{"nodeEnv":"production","version":"main-20241122-185319-7bcdc08639","target":"production","productName":"Medium","publicUrl":"https:\u002F\u002Fcdn-client.medium.com\u002Flite","authDomain":"medium.com","authGoogleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","favicon":"production","glyphUrl":"https:\u002F\u002Fglyph.medium.com","branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","algolia":{"appId":"MQ57UUUQZ2","apiKeySearch":"394474ced050e3911ae2249ecc774921","indexPrefix":"medium_","host":"-dsn.algolia.net"},"recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","recaptchaEnterpriseKeyId":"6Le-uGgpAAAAAPprRaokM8AKthQ9KNGdoxaGUvVp","datadog":{"applicationId":"6702d87d-a7e0-42fe-bbcb-95b469547ea0","clientToken":"pub853ea8d17ad6821d9f8f11861d23dfed","rumToken":"pubf9cc52896502b9413b68ba36fc0c7162","context":{"deployment":{"target":"production","tag":"main-20241122-185319-7bcdc08639","commit":"7bcdc08639c179dc5172558201a3fd3abc1b5db6"}},"datacenter":"us"},"googleAnalyticsCode":"G-7JY7T788PK","googlePay":{"apiVersion":"2","apiVersionMinor":"0","merchantId":"BCR2DN6TV7EMTGBM","merchantName":"Medium","instanceMerchantId":"13685562959212738550"},"applePay":{"version":3},"signInWallCustomDomainCollectionIds":["3a8144eabfe3","336d898217ee","61061eb0c96b","138adf9c44c","819cc2aaeee0"],"mediumMastodonDomainName":"me.dm","mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"],"tierOneDomains":["medium.com","thebolditalic.com","arcdigital.media","towardsdatascience.com","uxdesign.cc","codeburst.io","psiloveyou.xyz","writingcooperative.com","entrepreneurshandbook.co","prototypr.io","betterhumans.coach.me","theascent.pub"],"topicsToFollow":["d61cf867d93f","8a146bc21b28","1eca0103fff3","4d562ee63426","aef1078a3ef5","e15e46793f8d","6158eb913466","55f1c20aba7a","3d18b94f6858","4861fee224fd","63c6f1f93ee","1d98b3a9a871","decb52b64abf","ae5d4995e225","830cded25262"],"topicToTagMappings":{"accessibility":"accessibility","addiction":"addiction","android-development":"android-development","art":"art","artificial-intelligence":"artificial-intelligence","astrology":"astrology","basic-income":"basic-income","beauty":"beauty","biotech":"biotech","blockchain":"blockchain","books":"books","business":"business","cannabis":"cannabis","cities":"cities","climate-change":"climate-change","comics":"comics","coronavirus":"coronavirus","creativity":"creativity","cryptocurrency":"cryptocurrency","culture":"culture","cybersecurity":"cybersecurity","data-science":"data-science","design":"design","digital-life":"digital-life","disability":"disability","economy":"economy","education":"education","equality":"equality","family":"family","feminism":"feminism","fiction":"fiction","film":"film","fitness":"fitness","food":"food","freelancing":"freelancing","future":"future","gadgets":"gadgets","gaming":"gaming","gun-control":"gun-control","health":"health","history":"history","humor":"humor","immigration":"immigration","ios-development":"ios-development","javascript":"javascript","justice":"justice","language":"language","leadership":"leadership","lgbtqia":"lgbtqia","lifestyle":"lifestyle","machine-learning":"machine-learning","makers":"makers","marketing":"marketing","math":"math","media":"media","mental-health":"mental-health","mindfulness":"mindfulness","money":"money","music":"music","neuroscience":"neuroscience","nonfiction":"nonfiction","outdoors":"outdoors","parenting":"parenting","pets":"pets","philosophy":"philosophy","photography":"photography","podcasts":"podcast","poetry":"poetry","politics":"politics","privacy":"privacy","product-management":"product-management","productivity":"productivity","programming":"programming","psychedelics":"psychedelics","psychology":"psychology","race":"race","relationships":"relationships","religion":"religion","remote-work":"remote-work","san-francisco":"san-francisco","science":"science","self":"self","self-driving-cars":"self-driving-cars","sexuality":"sexuality","social-media":"social-media","society":"society","software-engineering":"software-engineering","space":"space","spirituality":"spirituality","sports":"sports","startups":"startup","style":"style","technology":"technology","transportation":"transportation","travel":"travel","true-crime":"true-crime","tv":"tv","ux":"ux","venture-capital":"venture-capital","visual-design":"visual-design","work":"work","world":"world","writing":"writing"},"defaultImages":{"avatar":{"imageId":"1*dmbNkD5D-u45r44go_cf0g.png","height":150,"width":150},"orgLogo":{"imageId":"7*V1_7XP4snlmqrc_0Njontw.png","height":110,"width":500},"postLogo":{"imageId":"bd978bb536350a710e8efb012513429cabdc4c28700604261aeda246d0f980b7","height":810,"width":1440},"postPreviewImage":{"imageId":"1*hn4v1tCaJy7cWMyb0bpNpQ.png","height":386,"width":579}},"collectionStructuredData":{"8d6b8a439e32":{"name":"Elemental","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F980\u002F1*9ygdqoKprhwuTVKUM0DLPA@2x.png","width":980,"height":159}}},"3f6ecf56618":{"name":"Forge","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F596\u002F1*uULpIlImcO5TDuBZ6lm7Lg@2x.png","width":596,"height":183}}},"ae2a65f35510":{"name":"GEN","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F264\u002F1*RdVZMdvfV3YiZTw6mX7yWA.png","width":264,"height":140}}},"88d9857e584e":{"name":"LEVEL","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*JqYMhNX6KNNb2UlqGqO2WQ.png","width":540,"height":108}}},"7b6769f2748b":{"name":"Marker","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F383\u002F1*haCUs0wF6TgOOvfoY-jEoQ@2x.png","width":383,"height":92}}},"444d13b52878":{"name":"OneZero","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*cw32fIqCbRWzwJaoQw6BUg.png","width":540,"height":123}}},"8ccfed20cbb2":{"name":"Zora","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*tZUQqRcCCZDXjjiZ4bDvgQ.png","width":540,"height":106}}}},"embeddedPostIds":{"coronavirus":"cd3010f9d81f"},"sharedCdcMessaging":{"COVID_APPLICABLE_TAG_SLUGS":[],"COVID_APPLICABLE_TOPIC_NAMES":[],"COVID_APPLICABLE_TOPIC_NAMES_FOR_TOPIC_PAGE":[],"COVID_MESSAGES":{"tierA":{"text":"For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":66,"end":73,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"tierB":{"text":"Anyone can publish on Medium per our Policies, but we don’t fact-check every story. For more info about the coronavirus, see cdc.gov.","markups":[{"start":37,"end":45,"href":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Fcategories\u002F201931128-Policies-Safety"},{"start":125,"end":132,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"paywall":{"text":"This article has been made free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":56,"end":70,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":138,"end":145,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"unbound":{"text":"This article is free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":45,"end":59,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":127,"end":134,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]}},"COVID_BANNER_POST_ID_OVERRIDE_WHITELIST":["3b31a67bff4a"]},"sharedVoteMessaging":{"TAGS":["politics","election-2020","government","us-politics","election","2020-presidential-race","trump","donald-trump","democrats","republicans","congress","republican-party","democratic-party","biden","joe-biden","maga"],"TOPICS":["politics","election"],"MESSAGE":{"text":"Find out more about the U.S. election results here.","markups":[{"start":46,"end":50,"href":"https:\u002F\u002Fcookpolitical.com\u002F2020-national-popular-vote-tracker"}]},"EXCLUDE_POSTS":["397ef29e3ca5"]},"embedPostRules":[],"recircOptions":{"v1":{"limit":3},"v2":{"limit":8}},"braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","braintree":{"enabled":true,"merchantId":"m56f8fqpf7ngnrd4","merchantAccountId":{"usd":"AMediumCorporation_instant","eur":"amediumcorporation_EUR","cad":"amediumcorporation_CAD"},"publicKey":"ds2nn34bg2z7j5gd","braintreeEnvironment":"production","dashboardUrl":"https:\u002F\u002Fwww.braintreegateway.com\u002Fmerchants","gracePeriodDurationInDays":14,"mediumMembershipPlanId":{"monthly":"ce105f8c57a3","monthlyV2":"e8a5e126-792b-4ee6-8fba-d574c1b02fc5","monthlyWithTrial":"d5ee3dbe3db8","monthlyPremium":"fa741a9b47a2","yearly":"a40ad4a43185","yearlyV2":"3815d7d6-b8ca-4224-9b8c-182f9047866e","yearlyStaff":"d74fb811198a","yearlyWithTrial":"b3bc7350e5c7","yearlyPremium":"e21bd2c12166","monthlyOneYearFree":"e6c0637a-2bad-4171-ab4f-3c268633d83c","monthly25PercentOffFirstYear":"235ecc62-0cdb-49ae-9378-726cd21c504b","monthly20PercentOffFirstYear":"ba518864-9c13-4a99-91ca-411bf0cac756","monthly15PercentOffFirstYear":"594c029b-9f89-43d5-88f8-8173af4e070e","monthly10PercentOffFirstYear":"c6c7bc9a-40f2-4b51-8126-e28511d5bdb0","monthlyForStudents":"629ebe51-da7d-41fd-8293-34cd2f2030a8","yearlyOneYearFree":"78ba7be9-0d9f-4ece-aa3e-b54b826f2bf1","yearly25PercentOffFirstYear":"2dbb010d-bb8f-4eeb-ad5c-a08509f42d34","yearly20PercentOffFirstYear":"47565488-435b-47f8-bf93-40d5fbe0ebc8","yearly15PercentOffFirstYear":"8259809b-0881-47d9-acf7-6c001c7f720f","yearly10PercentOffFirstYear":"9dd694fb-96e1-472c-8d9e-3c868d5c1506","yearlyForStudents":"e29345ef-ab1c-4234-95c5-70e50fe6bc23","monthlyCad":"p52orjkaceei","yearlyCad":"h4q9g2up9ktt"},"braintreeDiscountId":{"oneMonthFree":"MONTHS_FREE_01","threeMonthsFree":"MONTHS_FREE_03","sixMonthsFree":"MONTHS_FREE_06","fiftyPercentOffOneYear":"FIFTY_PERCENT_OFF_ONE_YEAR"},"3DSecureVersion":"2","defaultCurrency":"usd","providerPlanIdCurrency":{"4ycw":"usd","rz3b":"usd","3kqm":"usd","jzw6":"usd","c2q2":"usd","nnsw":"usd","q8qw":"usd","d9y6":"usd","fx7w":"cad","nwf2":"cad"}},"paypalClientId":"AXj1G4fotC2GE8KzWX9mSxCH1wmPE3nJglf4Z2ig_amnhvlMVX87otaq58niAg9iuLktVNF_1WCMnN7v","paypal":{"host":"https:\u002F\u002Fapi.paypal.com:443","clientMode":"production","serverMode":"live","webhookId":"4G466076A0294510S","monthlyPlan":{"planId":"P-9WR0658853113943TMU5FDQA","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlan":{"planId":"P-7N8963881P8875835MU5JOPQ","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com\u002Fredeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"},"oldMonthlyPlan":{"planId":"P-96U02458LM656772MJZUVH2Y","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlan":{"planId":"P-59P80963JF186412JJZU3SMI","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"monthlyPlanWithTrial":{"planId":"P-66C21969LR178604GJPVKUKY","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlanWithTrial":{"planId":"P-6XW32684EX226940VKCT2MFA","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oldMonthlyPlanNoSetupFee":{"planId":"P-4N046520HR188054PCJC7LJI","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlanNoSetupFee":{"planId":"P-7A4913502Y5181304CJEJMXQ","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"sdkUrl":"https:\u002F\u002Fwww.paypal.com\u002Fsdk\u002Fjs"},"stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","log":{"json":true,"level":"info"},"imageUploadMaxSizeMb":25,"staffPicks":{"title":"Staff Picks","catalogId":"c7bc6e1ee00f"}},"session":{"xsrf":""}}</script><script>window.__APOLLO_STATE__ = {"ROOT_QUERY":{"__typename":"Query","viewer":null,"collectionByDomainOrSlug({\"domainOrSlug\":\"androiddevelopers\"})":{"__ref":"Collection:95b274b437c2"},"postResult({\"id\":\"51866ffd0bd8\"})":{"__ref":"Post:51866ffd0bd8"}},"ImageMetadata:":{"__typename":"ImageMetadata","id":""},"Collection:95b274b437c2":{"__typename":"Collection","id":"95b274b437c2","favicon":{"__ref":"ImageMetadata:"},"customStyleSheet":null,"colorPalette":{"__typename":"ColorPalette","highlightSpectrum":{"__typename":"ColorSpectrum","backgroundColor":"#FFFFFFFF","colorPoints":[{"__typename":"ColorPoint","color":"#FFF4F2F3","point":0},{"__typename":"ColorPoint","color":"#FFF2F0F1","point":0.1},{"__typename":"ColorPoint","color":"#FFF0EEEF","point":0.2},{"__typename":"ColorPoint","color":"#FFEEECEE","point":0.3},{"__typename":"ColorPoint","color":"#FFECEAEC","point":0.4},{"__typename":"ColorPoint","color":"#FFEAE8EA","point":0.5},{"__typename":"ColorPoint","color":"#FFE8E7E9","point":0.6},{"__typename":"ColorPoint","color":"#FFE6E5E7","point":0.7},{"__typename":"ColorPoint","color":"#FFE4E3E5","point":0.8},{"__typename":"ColorPoint","color":"#FFE2E1E4","point":0.9},{"__typename":"ColorPoint","color":"#FFE0DFE2","point":1}]},"defaultBackgroundSpectrum":{"__typename":"ColorSpectrum","backgroundColor":"#FFFFFFFF","colorPoints":[{"__typename":"ColorPoint","color":"#FF848488","point":0},{"__typename":"ColorPoint","color":"#FF7B7B7E","point":0.1},{"__typename":"ColorPoint","color":"#FF717275","point":0.2},{"__typename":"ColorPoint","color":"#FF68686B","point":0.3},{"__typename":"ColorPoint","color":"#FF5E5E60","point":0.4},{"__typename":"ColorPoint","color":"#FF545456","point":0.5},{"__typename":"ColorPoint","color":"#FF4A494B","point":0.6},{"__typename":"ColorPoint","color":"#FF3F3E40","point":0.7},{"__typename":"ColorPoint","color":"#FF333334","point":0.8},{"__typename":"ColorPoint","color":"#FF272728","point":0.9},{"__typename":"ColorPoint","color":"#FF1A1A1A","point":1}]},"tintBackgroundSpectrum":{"__typename":"ColorSpectrum","backgroundColor":"#FF202124","colorPoints":[{"__typename":"ColorPoint","color":"#FF202124","point":0},{"__typename":"ColorPoint","color":"#FF3D3E41","point":0.1},{"__typename":"ColorPoint","color":"#FF58585B","point":0.2},{"__typename":"ColorPoint","color":"#FF707073","point":0.3},{"__typename":"ColorPoint","color":"#FF878689","point":0.4},{"__typename":"ColorPoint","color":"#FF9D9C9E","point":0.5},{"__typename":"ColorPoint","color":"#FFB2B1B2","point":0.6},{"__typename":"ColorPoint","color":"#FFC6C5C6","point":0.7},{"__typename":"ColorPoint","color":"#FFDAD8DA","point":0.8},{"__typename":"ColorPoint","color":"#FFEEEBEC","point":0.9},{"__typename":"ColorPoint","color":"#FFFFFEFF","point":1}]}},"domain":null,"slug":"androiddevelopers","googleAnalyticsId":null,"editors":[{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:e1f26db83092"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:2e0fc9a4a8c2"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:d5885adb1ddf"}}],"name":"Android Developers","avatar":{"__ref":"ImageMetadata:1*4Tg6pPzer7cIarYaszIKaQ.png"},"description":"Articles on modern tools and resources to help you build experiences that people love, faster and easier, across every Android device.","subscriberCount":51944,"latestPostsConnection({\"paging\":{\"limit\":1}})":{"__typename":"PostConnection","posts":[{"__ref":"Post:255973814ae3"}]},"viewerEdge":{"__ref":"CollectionViewerEdge:collectionId:95b274b437c2-viewerId:lo_099754849d46"},"twitterUsername":"androiddev","facebookPageId":null,"logo":{"__ref":"ImageMetadata:1*5pMw_nx55x_66tk77kutPQ.png"}},"User:e1f26db83092":{"__typename":"User","id":"e1f26db83092"},"User:2e0fc9a4a8c2":{"__typename":"User","id":"2e0fc9a4a8c2"},"User:d5885adb1ddf":{"__typename":"User","id":"d5885adb1ddf"},"ImageMetadata:1*4Tg6pPzer7cIarYaszIKaQ.png":{"__typename":"ImageMetadata","id":"1*4Tg6pPzer7cIarYaszIKaQ.png"},"User:e0a4c9469bb5":{"__typename":"User","id":"e0a4c9469bb5","customDomainState":null,"hasSubdomain":false,"username":"JoseAlcerreca"},"Post:255973814ae3":{"__typename":"Post","id":"255973814ae3","firstPublishedAt":1732208584164,"creator":{"__ref":"User:e0a4c9469bb5"},"collection":{"__ref":"Collection:95b274b437c2"},"isSeries":false,"mediumUrl":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Ftest-smarter-not-harder-new-testing-strategies-documentation-255973814ae3","sequence":null,"uniqueSlug":"test-smarter-not-harder-new-testing-strategies-documentation-255973814ae3"},"LinkedAccounts:eb38ed87b679":{"__typename":"LinkedAccounts","mastodon":null,"id":"eb38ed87b679"},"UserViewerEdge:userId:eb38ed87b679-viewerId:lo_099754849d46":{"__typename":"UserViewerEdge","id":"userId:eb38ed87b679-viewerId:lo_099754849d46","isFollowing":false,"isUser":false,"isMuting":false},"NewsletterV3:b99b111a9b80":{"__typename":"NewsletterV3","id":"b99b111a9b80","type":"NEWSLETTER_TYPE_AUTHOR","slug":"eb38ed87b679","name":"eb38ed87b679","collection":null,"user":{"__ref":"User:eb38ed87b679"}},"User:eb38ed87b679":{"__typename":"User","id":"eb38ed87b679","name":"Alice Yuan","username":"alice_yuan","newsletterV3":{"__ref":"NewsletterV3:b99b111a9b80"},"linkedAccounts":{"__ref":"LinkedAccounts:eb38ed87b679"},"isSuspended":false,"imageId":"1*YO6UsorsU7z0MZzxhXLgNw.jpeg","mediumMemberAt":0,"verifications":{"__typename":"VerifiedInfo","isBookAuthor":false},"socialStats":{"__typename":"SocialStats","followerCount":428,"followingCount":173,"collectionFollowingCount":5},"customDomainState":null,"hasSubdomain":false,"bio":"Android Developer Relations at Google. I talk about Android and also make comics!","isPartnerProgramEnrolled":true,"viewerEdge":{"__ref":"UserViewerEdge:userId:eb38ed87b679-viewerId:lo_099754849d46"},"viewerIsUser":false,"postSubscribeMembershipUpsellShownAt":0,"membership":null,"allowNotes":true,"twitterScreenName":""},"ImageMetadata:1*aIux1an8zPUXIhTLY7psfw.png":{"__typename":"ImageMetadata","id":"1*aIux1an8zPUXIhTLY7psfw.png","originalHeight":477,"originalWidth":1600,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a544f669f7f5_0":{"__typename":"Paragraph","id":"a544f669f7f5_0","name":"afa7","type":"IMG","href":null,"layout":"OUTSET_CENTER","metadata":{"__ref":"ImageMetadata:1*aIux1an8zPUXIhTLY7psfw.png"},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_1":{"__typename":"Paragraph","id":"a544f669f7f5_1","name":"a0c0","type":"H3","href":null,"layout":null,"metadata":null,"text":"Now in Android #92","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"STRONG","start":0,"end":18,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_2":{"__typename":"Paragraph","id":"a544f669f7f5_2","name":"0a10","type":"H4","href":null,"layout":null,"metadata":null,"text":"Studio Bot expansion, Firebase integration, Android Studio, and much more!","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":20,"href":"https:\u002F\u002Fandroid-developers.googleblog.com\u002F2023\u002F09\u002Fstudio-bot-expands-to-international-markets.html","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":22,"end":42,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=OvLCsH2vKgE","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":44,"end":58,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=K1TTzkToDyE&ab_channel=AndroidDevelopers","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_3":{"__typename":"Paragraph","id":"a544f669f7f5_3","name":"fa36","type":"P","href":null,"layout":null,"metadata":null,"text":"Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"MediaResource:442df10b356c84a6838500d3022dff4b":{"__typename":"MediaResource","id":"442df10b356c84a6838500d3022dff4b","iframeSrc":"https:\u002F\u002Fcdn.embedly.com\u002Fwidgets\u002Fmedia.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FjpU6hjzOLRE%3Flist%3DPLWz5rJ2EKKc9AtgKMBBdphI-mrx8XzW56&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DjpU6hjzOLRE&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FjpU6hjzOLRE%2Fhqdefault.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=youtube","iframeHeight":480,"iframeWidth":854,"title":"Now in Android: 92 - Studio Bot expansion, @Firebase integration, Android Studio, and much more!"},"Paragraph:a544f669f7f5_4":{"__typename":"Paragraph","id":"a544f669f7f5_4","name":"7358","type":"IFRAME","href":null,"layout":"INSET_CENTER","metadata":null,"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":{"__typename":"Iframe","mediaResource":{"__ref":"MediaResource:442df10b356c84a6838500d3022dff4b"}},"mixtapeMetadata":null},"MediaResource:2c86c2e402e04444af2be1917fddded3":{"__typename":"MediaResource","id":"2c86c2e402e04444af2be1917fddded3","iframeSrc":"https:\u002F\u002Fcdn.embedly.com\u002Fwidgets\u002Fmedia.html?src=%2F%2Fhtml5-player.libsyn.com%2Fembed%2Fepisode%2Fid%2F28227152%2Fheight%2F90%2Ftheme%2Fcustom%2Fthumbnail%2Fyes%2Fdirection%2Fforward%2Frender-playlist%2Fno%2Fcustom-color%2F88AA3C%2F&display_name=Libsyn&url=https%3A%2F%2Fnowinandroid.libsyn.com%2F92-studio-bot-expansion-firebase-integration-android-studio-and-much-more&image=https%3A%2F%2Fassets.libsyn.com%2Fsecure%2Fcontent%2F162539270&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=libsyn","iframeHeight":90,"iframeWidth":600,"title":"92 - Studio Bot expansion, Firebase integration, Android Studio, and much more!"},"Paragraph:a544f669f7f5_5":{"__typename":"Paragraph","id":"a544f669f7f5_5","name":"fb15","type":"IFRAME","href":null,"layout":"INSET_CENTER","metadata":null,"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":{"__typename":"Iframe","mediaResource":{"__ref":"MediaResource:2c86c2e402e04444af2be1917fddded3"}},"mixtapeMetadata":null},"Paragraph:a544f669f7f5_6":{"__typename":"Paragraph","id":"a544f669f7f5_6","name":"acad","type":"P","href":null,"layout":null,"metadata":null,"text":"Most of the content of this post is available in the form of a video or podcast, so feel free to watch or listen rather than read on. (Or do all three to help you remember! There won’t be a quiz.)","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":63,"end":68,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=jpU6hjzOLRE&list=PLWz5rJ2EKKc9AtgKMBBdphI-mrx8XzW56","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":72,"end":79,"href":"https:\u002F\u002Fnowinandroid.libsyn.com\u002F92-studio-bot-expansion-firebase-integration-android-studio-and-much-more","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":97,"end":102,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=jpU6hjzOLRE&list=PLWz5rJ2EKKc9AtgKMBBdphI-mrx8XzW56","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":106,"end":112,"href":"https:\u002F\u002Fnowinandroid.libsyn.com\u002F92-studio-bot-expansion-firebase-integration-android-studio-and-much-more","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_7":{"__typename":"Paragraph","id":"a544f669f7f5_7","name":"0077","type":"H3","href":null,"layout":null,"metadata":null,"text":"Studio Bot expands to 170+ international markets!💥","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":49,"href":"http:\u002F\u002Fandroid-developers.googleblog.com\u002F2023\u002F09\u002Fstudio-bot-expands-to-international-markets.html","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_8":{"__typename":"Paragraph","id":"a544f669f7f5_8","name":"d618","type":"P","href":null,"layout":null,"metadata":null,"text":"At this year’s Google I\u002FO, we introduced Studio Bot, an AI-powered coding assistant which can be accessed directly in Android Studio.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":41,"end":51,"href":"https:\u002F\u002Fdeveloper.android.com\u002Fstudio\u002Fpreview\u002Fstudio-bot","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_9":{"__typename":"Paragraph","id":"a544f669f7f5_9","name":"6cb6","type":"P","href":null,"layout":null,"metadata":null,"text":"After our announcement those of you outside of the U.S told us you were eager to get your hands on it. We heard your feedback, and have expanded Studio Bot to over 170 countries and territories in the canary release channel of Android Studio.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":159,"end":193,"href":"https:\u002F\u002Fdeveloper.android.com\u002Fstudio\u002Fpreview\u002Fstudio-bot\u002Favailability","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":227,"end":241,"href":"https:\u002F\u002Fdeveloper.android.com\u002Fstudio\u002Fpreview","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_10":{"__typename":"Paragraph","id":"a544f669f7f5_10","name":"03b4","type":"MIXTAPE_EMBED","href":null,"layout":null,"metadata":null,"text":"Android Studio Preview | Android Developers\nGet early access to the latest features and improvements in Android Studio.developer.android.com","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":140,"href":"https:\u002F\u002Fdeveloper.android.com\u002Fstudio\u002Fpreview","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"STRONG","start":0,"end":43,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":44,"end":119,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":{"__typename":"MixtapeMetadata","href":"https:\u002F\u002Fdeveloper.android.com\u002Fstudio\u002Fpreview","mediaResource":{"__typename":"MediaResource","mediumCatalog":null},"thumbnailImageId":"0*vFIgwwZo-9NtJDJz"}},"Paragraph:a544f669f7f5_11":{"__typename":"Paragraph","id":"a544f669f7f5_11","name":"df5b","type":"H3","href":null,"layout":null,"metadata":null,"text":"Podcast on Firebase in Android Studio 🎙️","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":37,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=OvLCsH2vKgE","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":38,"end":41,"href":"https:\u002F\u002Femojipedia.org\u002Fstudio-microphone\u002F","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_12":{"__typename":"Paragraph","id":"a544f669f7f5_12","name":"9848","type":"P","href":null,"layout":null,"metadata":null,"text":"Check out episode 201 of the Android Developers Backstage podcast, on Firebase in Android Studio!","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":70,"end":96,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=OvLCsH2vKgE","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_13":{"__typename":"Paragraph","id":"a544f669f7f5_13","name":"4de0","type":"P","href":null,"layout":null,"metadata":null,"text":"Tor and Romain chat with Greg Baker and Joe Baker-Malone about exciting new Android Studio features made possible by the Firebase integration. Features such as physical device streaming allow you to connect remotely to physical devices hosted in Google’s secure data centers. We also explore other time saving features like the ability to go from a crash report directly to the correct line of code.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_14":{"__typename":"Paragraph","id":"a544f669f7f5_14","name":"5cdc","type":"P","href":null,"layout":null,"metadata":null,"text":"You can check out the episode in podcast or video format.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":33,"end":40,"href":"https:\u002F\u002Fadbackstage.libsyn.com\u002Fepisode-201-firebase-in-android-studio","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":44,"end":49,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=OvLCsH2vKgE","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"MediaResource:53c573ca7d805c2c9abf75d65a4e0004":{"__typename":"MediaResource","id":"53c573ca7d805c2c9abf75d65a4e0004","iframeSrc":"https:\u002F\u002Fcdn.embedly.com\u002Fwidgets\u002Fmedia.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FOvLCsH2vKgE%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DOvLCsH2vKgE&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FOvLCsH2vKgE%2Fhqdefault.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=youtube","iframeHeight":480,"iframeWidth":854,"title":"Firebase in Android Studio - Android Developers Backstage"},"Paragraph:a544f669f7f5_15":{"__typename":"Paragraph","id":"a544f669f7f5_15","name":"d72c","type":"IFRAME","href":null,"layout":"INSET_CENTER","metadata":null,"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":{"__typename":"Iframe","mediaResource":{"__ref":"MediaResource:53c573ca7d805c2c9abf75d65a4e0004"}},"mixtapeMetadata":null},"MediaResource:b81c4863ab21065bd94a17b9d83dc489":{"__typename":"MediaResource","id":"b81c4863ab21065bd94a17b9d83dc489","iframeSrc":"https:\u002F\u002Fcdn.embedly.com\u002Fwidgets\u002Fmedia.html?src=%2F%2Fhtml5-player.libsyn.com%2Fembed%2Fepisode%2Fid%2F28106525%2Fheight%2F90%2Ftheme%2Fcustom%2Fthumbnail%2Fyes%2Fdirection%2Fforward%2Frender-playlist%2Fno%2Fcustom-color%2F88AA3C%2F&display_name=Libsyn&url=https%3A%2F%2Fadbackstage.libsyn.com%2Fepisode-201-firebase-in-android-studio&image=https%3A%2F%2Fassets.libsyn.com%2Fsecure%2Fitem%2F28106525&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=libsyn","iframeHeight":90,"iframeWidth":600,"title":"Episode 201: Firebase in Android Studio"},"Paragraph:a544f669f7f5_16":{"__typename":"Paragraph","id":"a544f669f7f5_16","name":"0067","type":"IFRAME","href":null,"layout":"INSET_CENTER","metadata":null,"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":{"__typename":"Iframe","mediaResource":{"__ref":"MediaResource:b81c4863ab21065bd94a17b9d83dc489"}},"mixtapeMetadata":null},"Paragraph:a544f669f7f5_17":{"__typename":"Paragraph","id":"a544f669f7f5_17","name":"07ff","type":"H3","href":null,"layout":null,"metadata":null,"text":"Check out the new UI for Android Studio 💅","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":39,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=K1TTzkToDyE&ab_channel=AndroidDevelopers","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_18":{"__typename":"Paragraph","id":"a544f669f7f5_18","name":"26c2","type":"P","href":null,"layout":null,"metadata":null,"text":"The stable release of Android Studio Giraffe comes with a new user interface! This new UI for Android Studio aims to reduce complexity, provide easier access to essential features, and disclose complex functionality as needed.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_19":{"__typename":"Paragraph","id":"a544f669f7f5_19","name":"cb8f","type":"P","href":null,"layout":null,"metadata":null,"text":"Learn more about the changes in video or short format.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":32,"end":37,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=K1TTzkToDyE&ab_channel=AndroidDevelopers","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":41,"end":46,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=QzefIO6lJpw","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"MediaResource:d160d2363dfccb5425a94484d91449e0":{"__typename":"MediaResource","id":"d160d2363dfccb5425a94484d91449e0","iframeSrc":"https:\u002F\u002Fcdn.embedly.com\u002Fwidgets\u002Fmedia.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FK1TTzkToDyE%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DK1TTzkToDyE&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FK1TTzkToDyE%2Fhqdefault.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=youtube","iframeHeight":480,"iframeWidth":854,"title":"New UI for Android Studio"},"Paragraph:a544f669f7f5_20":{"__typename":"Paragraph","id":"a544f669f7f5_20","name":"7111","type":"IFRAME","href":null,"layout":"INSET_CENTER","metadata":null,"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":{"__typename":"Iframe","mediaResource":{"__ref":"MediaResource:d160d2363dfccb5425a94484d91449e0"}},"mixtapeMetadata":null},"Paragraph:a544f669f7f5_21":{"__typename":"Paragraph","id":"a544f669f7f5_21","name":"9e1d","type":"H3","href":null,"layout":null,"metadata":null,"text":"Articles 📚","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_22":{"__typename":"Paragraph","id":"a544f669f7f5_22","name":"661d","type":"P","href":null,"layout":null,"metadata":null,"text":"Check out the two part Medium series Simona writes on Migrating to Jetpack Compose — an interop love story. In part 1 she dives into foundational topics including migration prep, dependencies and theming and the smallest common UI components. In part 2 she dives into more complex topics including migration of more complex components, low risk screens and complex screens.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":54,"end":106,"href":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fmigrating-to-jetpack-compose-an-interop-love-story-part-1-3693ca3ae981?source=rss----95b274b437c2---4","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":111,"end":117,"href":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fmigrating-to-jetpack-compose-an-interop-love-story-part-1-3693ca3ae981?source=rss----95b274b437c2---4","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":246,"end":252,"href":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fmigrating-to-jetpack-compose-an-interop-love-story-part-2-370fdd978c33?source=rss----95b274b437c2---4","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_23":{"__typename":"Paragraph","id":"a544f669f7f5_23","name":"c428","type":"MIXTAPE_EMBED","href":null,"layout":null,"metadata":null,"text":"Migrating to Jetpack Compose — an interop love story [part 1]\nA How-To guide covering a “common UI first” migration strategy of a View sample to Jetpack Compose.medium.com","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":171,"href":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fmigrating-to-jetpack-compose-an-interop-love-story-part-1-3693ca3ae981","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"STRONG","start":0,"end":61,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":62,"end":161,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":{"__typename":"MixtapeMetadata","href":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fmigrating-to-jetpack-compose-an-interop-love-story-part-1-3693ca3ae981","mediaResource":{"__typename":"MediaResource","mediumCatalog":null},"thumbnailImageId":"1*MxDmjg2fxWZVrV3rJFuVKA.png"}},"Paragraph:a544f669f7f5_24":{"__typename":"Paragraph","id":"a544f669f7f5_24","name":"12b9","type":"MIXTAPE_EMBED","href":null,"layout":null,"metadata":null,"text":"Migrating to Jetpack Compose — an interop love story [part 2]\nThis blog series covers a “common UI first” migration strategy of a View sample to Jetpack Compose.medium.com","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":171,"href":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fmigrating-to-jetpack-compose-an-interop-love-story-part-2-370fdd978c33","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"STRONG","start":0,"end":61,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":62,"end":161,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":{"__typename":"MixtapeMetadata","href":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fmigrating-to-jetpack-compose-an-interop-love-story-part-2-370fdd978c33","mediaResource":{"__typename":"MediaResource","mediumCatalog":null},"thumbnailImageId":"1*MxDmjg2fxWZVrV3rJFuVKA.png"}},"Paragraph:a544f669f7f5_25":{"__typename":"Paragraph","id":"a544f669f7f5_25","name":"280c","type":"P","href":null,"layout":null,"metadata":null,"text":"Also we covered how Kakao Games increased FPS stability to 96% through Android Adaptability, a set of tools and libraries to understand and respond to changing performance, thermal, and user situations in real time.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":20,"end":91,"href":"http:\u002F\u002Fandroid-developers.googleblog.com\u002F2023\u002F09\u002Fkakao-games-increased-fps-stability-through-android-adapatability.html","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_26":{"__typename":"Paragraph","id":"a544f669f7f5_26","name":"6621","type":"MIXTAPE_EMBED","href":null,"layout":null,"metadata":null,"text":"Kakao Games increased FPS stability to 96% through Android Adaptability\nKakao Games used Android Adaptability and Unity Adaptive Performance to improve the performance and thermal management…android-developers.googleblog.com","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":224,"href":"https:\u002F\u002Fandroid-developers.googleblog.com\u002F2023\u002F09\u002Fkakao-games-increased-fps-stability-through-android-adapatability.html","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"STRONG","start":0,"end":71,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":72,"end":191,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":{"__typename":"MixtapeMetadata","href":"https:\u002F\u002Fandroid-developers.googleblog.com\u002F2023\u002F09\u002Fkakao-games-increased-fps-stability-through-android-adapatability.html","mediaResource":{"__typename":"MediaResource","mediumCatalog":null},"thumbnailImageId":"0*tO6ASlBP1sHEGDLT"}},"Paragraph:a544f669f7f5_27":{"__typename":"Paragraph","id":"a544f669f7f5_27","name":"f9d0","type":"H3","href":null,"layout":null,"metadata":null,"text":"AndroidX Releases 🚀","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_28":{"__typename":"Paragraph","id":"a544f669f7f5_28","name":"5c10","type":"P","href":null,"layout":null,"metadata":null,"text":"We had several exciting new features launched in Android Jetpack:","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_29":{"__typename":"Paragraph","id":"a544f669f7f5_29","name":"8cab","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Camera 1.4 Alpha 1 adds a new API to access audio amplitude information while recording.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":18,"href":"https:\u002F\u002Fdeveloper.android.com\u002Fjetpack\u002Fandroidx\u002Freleases\u002Fcamera#1.4.0-alpha01","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_30":{"__typename":"Paragraph","id":"a544f669f7f5_30","name":"ca6d","type":"ULI","href":null,"layout":null,"metadata":null,"text":"CoordinatorLayout 1.3 Alpha 1 adds support for page up, page down, move home, and move end key events.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":29,"href":"https:\u002F\u002Fdeveloper.android.com\u002Fjetpack\u002Fandroidx\u002Freleases\u002Fcoordinatorlayout#1.3.0-alpha01","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_31":{"__typename":"Paragraph","id":"a544f669f7f5_31","name":"5e9f","type":"ULI","href":null,"layout":null,"metadata":null,"text":"Finally, Paging 3.3 Alpha 2 ships artifacts compatible with Kotlin Multiplatform.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":9,"end":27,"href":"https:\u002F\u002Fdeveloper.android.com\u002Fjetpack\u002Fandroidx\u002Freleases\u002Fpaging#3.3.0-alpha01","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_32":{"__typename":"Paragraph","id":"a544f669f7f5_32","name":"b0f8","type":"P","href":null,"layout":null,"metadata":null,"text":"You can see all the AndroidX release notes here.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":43,"end":47,"href":"https:\u002F\u002Fdeveloper.android.com\u002Fjetpack\u002Fandroidx\u002Fversions\u002Fall-channel","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_33":{"__typename":"Paragraph","id":"a544f669f7f5_33","name":"49cb","type":"MIXTAPE_EMBED","href":null,"layout":null,"metadata":null,"text":"Recent Release Notes | Android Developers\nthe Jetpack team started signing Jetpack libraries in June 2023. For more information, see Each version of an AndroidX…developer.android.com","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":0,"end":182,"href":"https:\u002F\u002Fdeveloper.android.com\u002Fjetpack\u002Fandroidx\u002Fversions\u002Fall-channel","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"STRONG","start":0,"end":41,"href":null,"anchorType":null,"userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":42,"end":161,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":{"__typename":"MixtapeMetadata","href":"https:\u002F\u002Fdeveloper.android.com\u002Fjetpack\u002Fandroidx\u002Fversions\u002Fall-channel","mediaResource":{"__typename":"MediaResource","mediumCatalog":null},"thumbnailImageId":"0*zpb1zjzKwtgMOFJ_"}},"Paragraph:a544f669f7f5_34":{"__typename":"Paragraph","id":"a544f669f7f5_34","name":"58d6","type":"H3","href":null,"layout":null,"metadata":null,"text":"Now then… 👋","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_35":{"__typename":"Paragraph","id":"a544f669f7f5_35","name":"4bc0","type":"P","href":null,"layout":null,"metadata":null,"text":"That’s it for this week with Studio bot Expansion, Firebase Integration, Android Studio, Jetpack Compose, AndroidX and more!","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":29,"end":49,"href":"http:\u002F\u002Fandroid-developers.googleblog.com\u002F2023\u002F09\u002Fstudio-bot-expands-to-international-markets.html","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":51,"end":71,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=OvLCsH2vKgE","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":73,"end":87,"href":"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=K1TTzkToDyE&ab_channel=AndroidDevelopers","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":89,"end":104,"href":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fmigrating-to-jetpack-compose-an-interop-love-story-part-1-3693ca3ae981?source=rss----95b274b437c2---4","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":106,"end":114,"href":"https:\u002F\u002Fdeveloper.android.com\u002Fjetpack\u002Fandroidx\u002Fversions\u002Fall-channel","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a544f669f7f5_36":{"__typename":"Paragraph","id":"a544f669f7f5_36","name":"a886","type":"P","href":null,"layout":null,"metadata":null,"text":"Check back soon for the next update from the Android developer universe! 💫","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"CollectionViewerEdge:collectionId:95b274b437c2-viewerId:lo_099754849d46":{"__typename":"CollectionViewerEdge","id":"collectionId:95b274b437c2-viewerId:lo_099754849d46","isEditor":false,"isMuting":false},"ImageMetadata:1*5pMw_nx55x_66tk77kutPQ.png":{"__typename":"ImageMetadata","id":"1*5pMw_nx55x_66tk77kutPQ.png","originalWidth":600,"originalHeight":72},"PostViewerEdge:postId:51866ffd0bd8-viewerId:lo_099754849d46":{"__typename":"PostViewerEdge","shouldIndexPostForExternalSearch":true,"id":"postId:51866ffd0bd8-viewerId:lo_099754849d46"},"Tag:kotlin":{"__typename":"Tag","id":"kotlin","displayTitle":"Kotlin","normalizedTagSlug":"kotlin"},"Tag:android-studio":{"__typename":"Tag","id":"android-studio","displayTitle":"Android Studio","normalizedTagSlug":"android-studio"},"Tag:firebase":{"__typename":"Tag","id":"firebase","displayTitle":"Firebase","normalizedTagSlug":"firebase"},"Tag:featured":{"__typename":"Tag","id":"featured","displayTitle":"Featured","normalizedTagSlug":"featured"},"Tag:now-in-android":{"__typename":"Tag","id":"now-in-android","displayTitle":"Now In Android","normalizedTagSlug":"now-in-android"},"Post:51866ffd0bd8":{"__typename":"Post","id":"51866ffd0bd8","collection":{"__ref":"Collection:95b274b437c2"},"content({\"postMeteringOptions\":{}})":{"__typename":"PostContent","isLockedPreviewOnly":false,"bodyModel":{"__typename":"RichText","sections":[{"__typename":"Section","name":"395a","startIndex":0,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null},{"__typename":"Section","name":"7fb5","startIndex":7,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null}],"paragraphs":[{"__ref":"Paragraph:a544f669f7f5_0"},{"__ref":"Paragraph:a544f669f7f5_1"},{"__ref":"Paragraph:a544f669f7f5_2"},{"__ref":"Paragraph:a544f669f7f5_3"},{"__ref":"Paragraph:a544f669f7f5_4"},{"__ref":"Paragraph:a544f669f7f5_5"},{"__ref":"Paragraph:a544f669f7f5_6"},{"__ref":"Paragraph:a544f669f7f5_7"},{"__ref":"Paragraph:a544f669f7f5_8"},{"__ref":"Paragraph:a544f669f7f5_9"},{"__ref":"Paragraph:a544f669f7f5_10"},{"__ref":"Paragraph:a544f669f7f5_11"},{"__ref":"Paragraph:a544f669f7f5_12"},{"__ref":"Paragraph:a544f669f7f5_13"},{"__ref":"Paragraph:a544f669f7f5_14"},{"__ref":"Paragraph:a544f669f7f5_15"},{"__ref":"Paragraph:a544f669f7f5_16"},{"__ref":"Paragraph:a544f669f7f5_17"},{"__ref":"Paragraph:a544f669f7f5_18"},{"__ref":"Paragraph:a544f669f7f5_19"},{"__ref":"Paragraph:a544f669f7f5_20"},{"__ref":"Paragraph:a544f669f7f5_21"},{"__ref":"Paragraph:a544f669f7f5_22"},{"__ref":"Paragraph:a544f669f7f5_23"},{"__ref":"Paragraph:a544f669f7f5_24"},{"__ref":"Paragraph:a544f669f7f5_25"},{"__ref":"Paragraph:a544f669f7f5_26"},{"__ref":"Paragraph:a544f669f7f5_27"},{"__ref":"Paragraph:a544f669f7f5_28"},{"__ref":"Paragraph:a544f669f7f5_29"},{"__ref":"Paragraph:a544f669f7f5_30"},{"__ref":"Paragraph:a544f669f7f5_31"},{"__ref":"Paragraph:a544f669f7f5_32"},{"__ref":"Paragraph:a544f669f7f5_33"},{"__ref":"Paragraph:a544f669f7f5_34"},{"__ref":"Paragraph:a544f669f7f5_35"},{"__ref":"Paragraph:a544f669f7f5_36"}]},"validatedShareKey":"","shareKeyCreator":null},"creator":{"__ref":"User:eb38ed87b679"},"inResponseToEntityType":null,"isLocked":false,"isMarkedPaywallOnly":false,"lockedSource":"LOCKED_POST_SOURCE_NONE","mediumUrl":"https:\u002F\u002Fmedium.com\u002Fandroiddevelopers\u002Fnow-in-android-92-51866ffd0bd8","primaryTopic":null,"topics":[{"__typename":"Topic","slug":"android-development"}],"isPublished":true,"latestPublishedVersion":"a544f669f7f5","visibility":"PUBLIC","postResponses":{"__typename":"PostResponses","count":1},"clapCount":167,"allowResponses":true,"isLimitedState":false,"title":"Now in Android #92","isSeries":false,"sequence":null,"uniqueSlug":"now-in-android-92-51866ffd0bd8","socialTitle":"","socialDek":"","canonicalUrl":"","metaDescription":"","latestPublishedAt":1696457131462,"readingTime":2.5509433962264154,"previewContent":{"__typename":"PreviewContent","subtitle":"Studio Bot expansion, Firebase integration, Android Studio, and much more!"},"previewImage":{"__ref":"ImageMetadata:1*aIux1an8zPUXIhTLY7psfw.png"},"isShortform":false,"seoTitle":"","firstPublishedAt":1696457131462,"updatedAt":1696469676193,"shortformType":"SHORTFORM_TYPE_LINK","seoDescription":"","viewerEdge":{"__ref":"PostViewerEdge:postId:51866ffd0bd8-viewerId:lo_099754849d46"},"isSuspended":false,"license":"ALL_RIGHTS_RESERVED","tags":[{"__ref":"Tag:kotlin"},{"__ref":"Tag:android-studio"},{"__ref":"Tag:firebase"},{"__ref":"Tag:featured"},{"__ref":"Tag:now-in-android"}],"isNewsletter":false,"statusForCollection":"APPROVED","pendingCollection":null,"detectedLanguage":"en","wordCount":623,"layerCake":6,"responsesLocked":false}}</script><script>window.__MIDDLEWARE_STATE__={"session":{"xsrf":""},"cache":{"cacheStatus":"EXPIRED"}}</script><script src="https://cdn-client.medium.com/lite/static/js/manifest.b2314f6d.js"></script><script src="https://cdn-client.medium.com/lite/static/js/9865.1496d74a.js"></script><script src="https://cdn-client.medium.com/lite/static/js/main.24534aeb.js"></script><script src="https://cdn-client.medium.com/lite/static/js/instrumentation.d9108df7.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/reporting.ff22a7a5.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9120.5df29668.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5049.d1ead72d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4810.6318add7.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6618.db187378.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2707.b0942613.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9977.5b3eb23a.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8599.1ab63137.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5250.9f9e01d2.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6349.b071a958.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2648.26563adf.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8393.826a25fb.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7079.67349d50.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3735.afb7e926.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5642.a2d9f6a1.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6546.cd03f950.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6834.08de95de.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7346.72622eb9.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2420.2a5e2d95.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/839.ca7937c2.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7975.d195c6f1.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2106.21ff89d3.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7394.3d049572.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2961.00a48598.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8204.c4082863.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4391.59acaed3.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/PostPage.MainContent.c8a11795.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8414.6565ad5f.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3974.8d3e0217.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2527.a0afad8a.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/PostResponsesContent.36c2ecf4.chunk.js"></script><script>window.main();</script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e71e0226c6b409d',t:'MTczMjM3MjQxOS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>