package Ġcom . zp . z photo _ lib . content Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content .* Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Point Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Parcelable Ċ import Ġandroid . util . Sparse Array Ċ import Ġandroid . util . Sparse Boolean Array Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroidx . collection . Array Map Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . zp . z photo _ lib . R Ċ import Ġcom . zp . z photo _ lib . common . Z Photo Manager Ċ import Ġcom . zp . z photo _ lib . util . Z Log Ċ import Ġjava . io . Serializable Ċ import Ġjava . util .* Ċ Ċ const Ġval ĠJPEG Ġ= Ġ" jpeg " Ċ const Ġval ĠJ PG Ġ= Ġ" jpg " Ċ const Ġval ĠPNG Ġ= Ġ" png " Ċ const Ġval ĠGIF Ġ= Ġ" gif " Ċ const Ġval ĠMP 4 Ġ= Ġ" mp 4 " Ċ Ċ const Ġval ĠZ _ ALL _ DATA _ KEY Ġ= Ġ" Z Photo All Date " Ċ const Ġval ĠZ _ ALL _ VIDEO _ KEY Ġ= Ġ" Z Photo All Video " Ċ const Ġval ĠZ PH OTO _ SHOW _ C AME AR Ġ= Ġ" æĺ¾ç¤º æĭ į çħ§ " Ċ Ċ /** ĠSD åį¡ æĿĥéĻĲ Ġ å¯¹åºĶ request Code Ġ Ġ*/ Ċ const Ġval ĠZ PH OTO _ WRITE _ EXTERNAL _ CODE Ġ= Ġ 0 x 1 0 1 Ċ /** Ġ çĽ¸ æľº æĿĥéĻĲ Ġ å¯¹åºĶ request Code Ġ Ġ*/ Ċ const Ġval ĠZ PH OTO _ C AME AR _ CODE Ġ= Ġ 0 x 2 0 1 Ċ Ċ const Ġval ĠZ PH OTO _ SELECT _ PIC _ BACK _ CODE Ġ= Ġ 9 0 0 0 Ċ /** Ġ è°ĥçĶ¨ çĽ¸ æľº Ġ*/ Ċ const Ġval ĠZ PH OTO _ TO _ C AME AR _ REQUEST _ CODE Ġ= Ġ 9 0 0 1 Ċ /** Ġ åī ª è£ ģ Ġrequest Code Ġ*/ Ċ const Ġval ĠZ PH OTO _ C ROP _ REQUEST _ CODE Ġ= Ġ 9 0 2 0 Ċ const Ġval ĠZ PH OTO _ P ICK _ REQUEST _ CODE Ġ= Ġ 9 0 2 1 Ċ /** Ġ åī ª è£ ģ Ġ éĶĻè¯¯ code Ġ*/ Ċ const Ġval ĠZ PH OTO _ C ROP _ ERROR _ CODE Ġ= Ġ 5 0 0 Ċ Ċ /** Ġ é¢Ħ è§Ī åĽ¾çīĩ request Code Ġ*/ Ċ const Ġval ĠZ PH OTO _ PRE VIEW _ REQUEST _ CODE Ġ= Ġ 9 0 2 2 Ċ /** Ġ é¢Ħ è§Ī åĽ¾çīĩ result Code Ġ*/ Ċ const Ġval ĠZ PH OTO _ PRE VIEW _ RESULT _ CODE Ġ= Ġ 9 0 2 3 Ċ Ċ /** Ġ åĽ¾çīĩ é»ĺè®¤ æľĢ å¤ļ åı¯ éĢī çļĦ åıĸ æķ°éĩı Ġ*/ Ċ const Ġval ĠZ PH OTO _ DEFAULT _ MAX _ PIC _ SELECT Ġ= Ġ 9 Ċ /** Ġ åĽ¾çīĩ é»ĺè®¤ æľĢå¤§ åı¯ éĢī Ġsize Ġ 5 M Ġ*/ Ċ const Ġval ĠZ PH OTO _ DEFAULT _ MAX _ PIC _ SIZE Ġ= Ġ 5 Ċ /** Ġ åĽ¾çīĩ é»ĺè®¤ æľĢå°ı åı¯ éĢī Ġsize Ġ 1 0 Ġbyte Ġ*/ Ċ const Ġval ĠZ PH OTO _ DEFAULT _ MIN _ PIC _ SIZE Ġ= Ġ 1 0 L Ċ Ċ /** Ġ è§Ĩé¢ĳ é»ĺè®¤ æľĢ å¤ļ åı¯ éĢī åıĸ çļĦ æķ°éĩı Ġ*/ Ċ const Ġval ĠZ PH OTO _ DEFAULT _ MAX _ VIDEO _ SELECT Ġ= Ġ 2 Ċ /** Ġ è§Ĩé¢ĳ é»ĺè®¤ æľĢå¤§ åı¯ éĢī Ġsize Ġ 5 0 M Ġ*/ Ċ const Ġval ĠZ PH OTO _ DEFAULT _ MAX _ VIDEO _ SIZE Ġ= Ġ 5 0 Ċ /** Ġ è§Ĩé¢ĳ é»ĺè®¤ æľĢå°ı åı¯ éĢī Ġsize Ġ 1 0 Ġbyte Ġ*/ Ċ const Ġval ĠZ PH OTO _ DEFAULT _ MIN _ VIDEO _ SIZE Ġ= Ġ 1 0 L Ċ Ċ /** ĠCheckBox æł·å¼ı Ġ*/ Ċ const Ġval ĠZ PH OTO _ BOX _ STYLE _ DEFAULT Ġ= Ġ 1 Ċ const Ġval ĠZ PH OTO _ BOX _ STYLE _ DI Y Ġ= Ġ 2 Ċ @ Deprecated (" æħ İ çĶ¨ ") Ċ const Ġval ĠZ PH OTO _ BOX _ STYLE _ NUM Ġ= Ġ 3 ĊĊĊ Ċ internal Ġfun ĠContext . jump Activity ( clazz : ĠClass <* >, Ġmap : ĠArray Map < String , ĠAny >? Ġ= Ġnull ) Ġ{ ĊĠĠĠ ĠstartActivity ( Intent ( this , Ġclazz ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! map . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extras ( get Bundle Form Map KV ( map )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) Ċ } Ċ Ċ internal Ġfun ĠActivity . jump Activity ( clazz : ĠClass <* >, Ġmap : ĠArray Map < String , ĠAny >? Ġ= Ġnull , Ġrequest Code : ĠInt ) Ġ{ ĊĠĠĠ ĠstartActivity For Result ( Intent ( this , Ġclazz ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! map . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extras ( get Bundle Form Map KV ( map )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, Ġrequest Code ) Ċ } Ċ Ċ internal Ġfun Ġget Bundle Form Map KV ( map : ĠArray Map < String , ĠAny >) Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠ Ġfor Ġ(( k , Ġv ) Ġin Ġmap ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( v ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġput Int ( k , Ġv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDouble Ġ-> Ġput Double ( k , Ġv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġput Float ( k , Ġv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġput Long ( k , Ġv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġput Boolean ( k , Ġv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠChar Ġ-> Ġput Char ( k , Ġv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġput String ( k , Ġv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSerializable Ġ-> Ġput Serializable ( k , Ġv ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠParcel able Ġ-> Ġ Ġput Parcelable ArrayList ( k , Ġv Ġas ĠArrayList < out ĠParcel able > ?) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠZ Log . e (" Unsupported Ġformat ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun Ġget AppContext () Ġ= ĠZ Photo Manager . getInstance (). getApplicationContext () Ċ Ċ internal Ġfun Ġget ToolBar Height () Ġ= Ġget AppContext (). resources . get Dimension ( R . dim en . z photo _ tool Bar Height ). toInt () Ċ Ċ internal Ġfun ĠActivity . setStatus Bar Transparent () Ġ{ ĊĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdecor View Ġ= Ġwindow . decor View ĊĠĠĠĠĠĠĠ Ġval Ġoption Ġ= ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ FULL SCREEN Ġor ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ ST ABLE ĊĠĠĠĠĠĠĠ Ġdecor View . system Ui Visibility Ġ= Ġoption ĊĠĠĠĠĠĠĠ Ġwindow . status Bar Color Ġ= ĠColor . TRANSP ARENT ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠContext . getStatus Bar Height () Ġ= Ġresources . get Dimension Pixel Size ( ĊĠĠĠ Ġresources . getIdentifier (" status _ bar _ height ", Ġ" dim en ", Ġ" android ") Ċ ) Ċ Ċ internal Ġfun ĠContext . getDisplay () Ġ= ĠInt Array ( 2 ). apply Ġ{ ĊĠĠĠ Ġval Ġmanager Ġ= Ġget System Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager ĊĠĠĠ Ġval Ġpoint Ġ= ĠPoint () ĊĠĠĠ Ġmanager . default Display . getSize ( point ) ĊĠĠĠ Ġthis [ 0 ] Ġ= Ġpoint . x ĊĠĠĠ Ġthis [ 1 ] Ġ= Ġpoint . y Ċ } Ċ Ċ internal Ġfun Ġdip 2 px F ( dp Value : ĠFloat ) Ġ= Ġdp Value Ġ* Ġget AppContext (). resources . display Metrics . density Ġ+ Ġ 0 . 5 f Ċ internal Ġfun Ġdip 2 px ( dp Value : ĠFloat ) Ġ= Ġdip 2 px F ( dp Value ). toInt () Ċ internal Ġfun Ġpx 2 dip F ( px Value : ĠFloat ) Ġ= Ġpx Value Ġ/ Ġget AppContext (). resources . display Metrics . density Ġ+ Ġ 0 . 5 f Ċ internal Ġfun Ġpx 2 dip ( px Value : ĠFloat ) Ġ= Ġpx 2 dip F ( px Value ). toInt () Ċ Ċ internal Ġfun Ġget Color ById ( color ID : ĠInt ) Ġ= ĠContext Compat . getColor ( get AppContext (), Ġcolor ID ) Ċ internal Ġfun Ġget Dim en ById ( dim en ID : ĠInt ) Ġ= Ġget AppContext (). resources . get Dimension ( dim en ID ) Ċ internal Ġfun ĠgetString ById ( string ID : ĠInt ) Ġ= Ġget AppContext (). resources . getString ( string ID ) Ċ Ċ internal Ġfun Ġget Tip Str ( str Res : ĠInt , Ġvalue : ĠInt ) Ġ= ĠString . format ( getString ById ( str Res ), Ġvalue ) ĊĊ Ċ internal Ġfun ĠgetText Value ( any : ĠAny ) Ġ= Ġtry Ġ{ ĊĠĠĠ Ġwhen Ġ( any ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> ĠgetString ById ( any ) ĊĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġany ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġany . toString () ĊĠĠĠ Ġ} Ċ } Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠ Ġany . toString () Ċ } !! Ċ Ċ internal Ġfun Ġcheck Gif ( url : ĠString ) Ġ= Ġtry Ġ{ ĊĠĠĠ Ġval Ġgif Ġ= Ġurl . substring ( url . lastIndexOf (".") Ġ+ Ġ 1 , Ġurl . length ) ĊĠĠĠ Ġ" gif " Ġ== Ġgif Ċ } Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġfalse Ċ } Ċ Ċ internal Ġinline Ġfun ĠSparse Boolean Array . forEach ( block : Ġ( Int ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġvar Ġindex Ġ= Ġ 0 ĊĠĠĠ Ġval Ġsize Ġ= Ġsize () ĊĠĠĠ Ġwhile Ġ( index Ġ< Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠ Ġblock ( index ) ĊĠĠĠĠĠĠĠ Ġindex Ġ++ ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġinline Ġfun Ġ< E > ĠList < E >. forEach No Iterable ( block : Ġ( E ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġvar Ġindex Ġ= Ġ 0 ĊĠĠĠ Ġval Ġsize Ġ= Ġsize ĊĠĠĠ Ġwhile Ġ( index Ġ< Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠ Ġblock ( get ( index )) ĊĠĠĠĠĠĠĠ Ġindex Ġ++ ĊĠĠĠ Ġ} Ċ } ĊĊĊ