package Ġcom . li ang gu o . cam er ax compose demo . logic Ċ Ċ import Ġandroidx . camera . core . Image Capture . FLASH _ MODE _ OFF Ċ import Ġandroidx . camera . core . Zoom State Ċ import Ġandroidx . compose . runtime . mutable State ListOf Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġkotlinx . coroutines . flow . Mutable State Flow ĊĊ Ċ /** Ċ Ġ* Ġ@ author Ġl dh Ċ Ġ* Ċ Ġ* ĠCompose çķĮéĿ¢ çļĦæķ°æį® ï¼Į å°± è¦ģ è¿Ļæł· åĪĨ å¼Ģ åĨĻ ï¼Į ä¸Ģå®ļ ä¸įè¦ģ å¼ Ħ åĪ° ä¸Ģä¸ª å¯¹è±¡ éĩĮ åİ» ï¼Į åĲ¦åĪĻ åħ¶ä¸Ń æŁĲä¸ª å±ŀæĢ§ æĽ´æĸ° ä¼ļ å¼ķ èµ· æķ´ä¸ª æĽ´æĸ° Ċ Ġ*/ Ċ class ĠView State Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġä½¿çĶ¨ çļĦæĺ¯ åĵª ä¸Ģä¸ª æĳ Ħ åĥı å¤´ ãĢĤ Ġtrue ä¸º Camera Selector . DEFAULT _ FRONT _ CAMERA ï¼Į Ġfalse ä¸º Camera Selector . DEFAULT _ BACK _ CAMERA ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġfront Camera Ġ= ĠMutable State Flow ( false ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ æĺ¾ç¤º åĪĨ åī² çº¿ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġshow Clip Grid Ġ= ĠMutable State Flow ( false ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ è¿Ľè¡Į æĭ į çħ§ çļĦ ä¿¡åı· éĩı ï¼Į åıª è¦ģ è¿Ļä¸ª éĩı > 0 ï¼Į å°±ä¼ļ æī§è¡Į æĭ į çħ§ ï¼Į æ¯ıæ¬¡ æĭ į çħ§ æ¶Ī èĢĹ ä¸Ģæ¬¡ ä¿¡åı· éĩı ï¼Į çĽ´ åĪ° åĩı ä¸º 0 ä¸º æŃ¢ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġtake Picture Semaphore Ġ= ĠMutable State Flow ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ æľĢè¿ĳ æĭ į æĳ Ħ çļĦ åªĴ ä½ĵ ï¼Į æľĢ åīį éĿ¢ çļĦæĺ¯ æľĢ åĪļ åĪļ çļĦ ï¼Į æľĢåĲİ éĿ¢ çļĦæĺ¯ æľĢ æĹ© æĭ į çļĦ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġrecent Med ias Ġ= Ġmutable State ListOf < Media >() ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġæĭ į çħ§ çļĦ éĹ ª åħī æ¨¡å¼ı ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ android x . camera . core . Image Capture . FLASH _ MODE _ AUTO ] ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ android x . camera . core . Image Capture . FLASH _ MODE _ ON ] ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ android x . camera . core . Image Capture . FLASH _ MODE _ OFF ] ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġimage Capture Flash Mode Ġ= ĠMutable State Flow ( FLASH _ MODE _ OFF ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġæĭ į çħ§ æĹ¶çļĦ çĽ¸ æľº ç¼© æĶ¾ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġzoom Ratio Ġ= ĠMutable LiveData ( 1 f ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ çĽ¸ æľº å½ĵåīį çļĦ zoom çĬ¶æĢģ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġzoom State : ĠZoom State ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġå½ĵåīį æĺ¯åĲ¦ æĬĬ zoom ä¿¡æģ¯ æĺ¾ç¤º åĩºæĿ¥ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġshow Zoom Info Ġ= ĠMutable State Flow ( false ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġå½ĵåīį æĳ Ħ åĥı æ¨¡å¼ı æĺ¯åĲ¦ ä¸º æĭ į çħ§ ĊĠĠĠĠĠĠĠĠ Ġ* Ġtrue : Ġ Ġæĭ į çħ§ ĊĠĠĠĠĠĠĠĠ Ġ* Ġfalse : Ġ å½ķ åĥı ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġcapture Image Mode Ġ= ĠMutable State Flow ( true ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ æŃ£åľ¨ å½ķ åĥı ĊĠĠĠĠĠĠĠĠ Ġ* Ġ è¿ĻéĩĮ è¦ģ çĶ¨ 3 ä¸ª çĬ¶æĢģ æĿ¥ è¡¨ç¤º ï¼Į åĽłä¸º æ¯ıæ¬¡ åĪĩæį¢ çĬ¶æĢģ æ¶ ī åıĬ åĪ° è§Ĩé¢ĳ çļĦ å¼Ģå§ĭ å½ķ åĪ¶ åĴĮ åģľæŃ¢ å½ķ åĪ¶ ï¼Į å¦Ĥæŀľ è§Ĩé¢ĳ è¿ĺ æ²¡æľī å¼Ģå§ĭ å½ķ åĪ¶ å°± è®© å®ĥ åģľæŃ¢ å½ķ åĪ¶ å°± è¦ģ åĩº éĹ®é¢ĺ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġrecording Video Ġ= ĠMutable State Flow < Boolean ? >( null ) ĊĊĊĠĠĠ Ġ} Ċ