package Ġcom . ti . sun rain . ui . about Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . ti . sun rain . Build Config Ċ import Ġcom . ti . sun rain . R Ċ import Ġcom . ti . sun rain . Sun Rain Application Ċ import Ġcom . ti . sun rain . logic . Activity Set Ċ import Ġkotlinx . android . synt hetic . main . activity _ about .* Ċ import Ġjava . net . UR ISyntaxException Ċ import Ġcom . ti . sun rain . MainActivity Ċ Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . util . Typed Value ĊĊ Ċ class ĠAbout Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠAbout ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ about ) ĊĊĠĠĠĠĠĠĠ Ġ// set ĊĠĠĠĠĠĠĠ ĠActivity Set . add Activity ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// dark mode ĊĠĠĠĠĠĠĠ Ġwhen ( Sun Rain Application . settings Preference . getString (" others _ dark mode _ list "," 0 ")){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 " Ġ-> Ġdelegate . local Night Mode Ġ= ĠAppCompat Delegate . MODE _ N IGHT _ FOLLOW _ SYSTEM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 " Ġ-> Ġdelegate . local Night Mode Ġ= ĠAppCompat Delegate . MODE _ N IGHT _ NO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 " Ġ-> Ġdelegate . local Night Mode Ġ= ĠAppCompat Delegate . MODE _ N IGHT _ YES ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers . of ( this ). get ( About ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġif ( is Dark Theme ( this )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemail Icon . setImage Resource ( R . drawable . baseline _ email _ white _ 2 4 dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgithub Icon . setImage Resource ( R . drawable . ic _ github _ white ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmarket Icon . setImage Resource ( R . drawable . ic _ google _ play _ white ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Icon . setImage Resource ( R . drawable . ic _ internet _ explorer _ white ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwe chat Icon . setImage Resource ( R . drawable . ic _ wechat _ white ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġal ipay Icon . setImage Resource ( R . drawable . ic _ alipay _ white ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad Icon . setImage Resource ( R . drawable . baseline _ attach _ money _ white _ 2 4 dp ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivacy Icon . setImage Resource ( R . drawable . baseline _ menu _ book _ white _ 2 4 dp ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġabout FAB . setImage Resource ( R . drawable . rain y _ weather _ 1 0 0 px ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( about Toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Home Button Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set Home As Up Indicator ( R . drawable . baseline _ arrow _ back _ white _ 2 4 dp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġabout Toolbar . overflow Icon Ġ= ĠContext Compat . get Drawable ( this , R . drawable . baseline _ more _ vert _ white _ 2 4 dp ) ĊĊĠĠĠĠĠĠĠ Ġabout Col lap sing Toolbar Layout . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( is Dark Theme ( this @ About Activity )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Expanded Title Color ( Context Compat . getColor ( context , R . color . indigo 5 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Expanded Title Color ( Context Compat . getColor ( context , R . color . orange 5 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Collapsed Title TextColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// 0 3 1 5 Ġ èĢĥèĻĳ ç¨ ³ å®ļ æĢ§ ï¼Į è¿Ļ æĿ¡ æļĤ æĹ¶ åİ» æİī ĊĠĠĠĠĠĠĠ Ġabout Background Image . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetRandom For E gg ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġabout FAB . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroidx . appcompat . app . AlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" åħ³äºİ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage (" æĻ ´ éĽ ¨ ï¼ļ ä¸Ģä¸ª å¼ĢæºĲ çļĦ ĠAndroid Ġ å¤© æ°Ķ é¢Ħ æĬ¥ ĠAPP \ n \ n "+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" V Ġ${ Build Config . VERSION _ NAME }\ n \ n "+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" æľ¬ APP / é¡¹çĽ® æīĢ ä½¿çĶ¨çļĦ å¼ĢæºĲ åįıè®® ä¸į æ¶ ī åıĬ æŃ¤ å¤Ħ èĥĮæĻ¯ åĽ¾çīĩ çļĦ äºĮ æ¬¡ æİĪæĿĥ ãĢĤ åĽ¾çīĩ çīĪ æĿĥ " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ä»į å½Ĵ åİŁ ä½ľèĢħ ç»ĺ æģ ĭ Gal game åĪ¶ ä½ľ ç»Ħ æīĢæľī ãĢĤ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . ok , null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// version Title About . text Ġ= Ġ" V " Ġ+ ĠBuild Config . VERSION _ NAME ĊĊĠĠĠĠĠĠĠ Ġemail Me About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġemail Intent Ġ= ĠIntent ( Intent . ACTION _ SEND TO ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠUri . parse (" mailto : ti h ong sh eng @ fox mail . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ SUBJECT ," Sun Rain åıį é¦ Ī ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( email Intent . resolve Activity ( package Manager )!= null ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( email Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( parent Lin er , resources . getString ( R . string . email _ not _ found ), Snackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġgithub Issues About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgithub Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgithub Intent . data Ġ= ĠUri . parse (" https :// github . com / blue bon net 2 7 / Sun Rain / issues ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( github Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmarket About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmarket Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmarket Intent . data Ġ= ĠUri . parse (" https :// www . cool apk . com / apk / com . ti . sun rain ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( market Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġupdate About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" å¯Ĩçłģ æĺ¯ Ġc 7 t 9 ", ĠToast . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupdate Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Intent . data Ġ= ĠUri . parse (" https :// ww a . lan z ous . com / b 0 dw da ush ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( update Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġal ipay About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Ali Pay ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwe chat Pay About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwe chat qr view Ġ= ĠImageView ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwe chat qr view . setImage Resource ( R . drawable . wechat qrcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( resources . getString ( R . string . cut _ screen )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( wechat qr view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġad About . setOnClickListener Ġ{ Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view ," çĽ®åīį è¿ĺ æ²¡ æİ¥ åĪ° å¹¿åĳĬ ...", Snackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġicons 8 About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġicons 8 Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicons 8 Intent . data Ġ= ĠUri . parse (" https :// icons 8 . com /") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( icons 8 Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġc ai yun About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc ai yun Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc ai yun Intent . data Ġ= ĠUri . parse (" http :// ca iy un app . com /") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( ca iy un Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsun ny weather About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsun ny weather Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsun ny weather Intent . data Ġ= ĠUri . parse (" https :// github . com / gu olin dev / Sun ny Weather ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( sun ny weather Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġretrofit About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġretrofit Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġretrofit Intent . data Ġ= ĠUri . parse (" https :// github . com / square / ret rofit ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( ret rofit Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm P Android Chart About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmp Android Chart Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmp Android Chart Intent . data Ġ= ĠUri . parse (" https :// github . com / Phil J ay / MP Android Chart ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( mp Android Chart Intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġweather Animation About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġweather Animation Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweather Animation Intent . data Ġ= ĠUri . parse (" https :// github . com / Rain v vy / Weather _ Bg ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( weather Animation Intent ) ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠ Ġbr v ah About . setOnClickListener Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbr v ah Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġbr v ah Intent . data Ġ= ĠUri . parse (" https :// github . com / Phil J ay / MP Android Chart ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( br v ah Intent ) Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivacy About . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" éļĲ ç§ģ æĶ¿ çŃĸ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage (" 1 . Ġå½ĵ æĤ¨ ä½¿çĶ¨ å¥½ å¤© æ°Ķ æĹ¶ éľĢè¦ģ æıĲä¾Ľ ç½ĳç»ľ æĿĥéĻĲ ï¼Į çĶ¨äºİ å°Ĩ æĤ¨ è¾ĵåħ¥ çļĦ åŁİ å¸Ĥ ä¿¡æģ¯ ä½¿çĶ¨ å½ © äºĳ å¤© æ°Ķ çļĦ " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ç¬¬ä¸ī æĸ¹ æİ¥åı£ æĲľç´¢ å¤© æ°Ķ ãĢĤ æĻ ´ éĽ ¨ ä¼ļ å°Ĩ ä¸Ĭ ä¸Ģæ¬¡ æĲľç´¢ çļĦ è®°å½ķ ä¿Ŀ åŃĺåľ¨ æľ¬åľ° ãĢĤ éĢļè¿ĩ æ¸ħ éĻ¤ è½¯ä»¶ æķ°æį® ï¼Į åı¯ " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ä»¥ å°Ĩ å·² ä¿ĿåŃĺ çļĦæķ°æį® æ¸ħ éĻ¤ ãĢĤ æĻ ´ éĽ ¨ ä¸įéľĢè¦ģ åħ¶ä»ĸ ä»»ä½ķ æĿĥéĻĲ ãĢĤ \ n "+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 . Ġå¦Ĥæŀľ æĤ¨ å¯¹ æĤ¨çļĦ éļĲ ç§ģ æľī ä»»ä½ķ çĸĳ éĹ® æĪĸèĢħ éľĢè¦ģ è§£éĩĬ çļĦ ï¼Į è¯· éĢļè¿ĩ äº§åĵģ ä¸ŃçļĦ åıį é¦ Ī æĸ¹å¼ı ä¸İ å¼Ģåıĳ èĢħ " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" åıĸå¾Ĺ èģĶç³» ãĢĤ Ġ å¦Ĥ æĤ¨ ä¸įåĲĮ æĦı æľ¬ åįıè®® æĪĸ åħ¶ ä¸ŃçļĦ ä»»ä½ķ æĿ¡ æ¬¾ çļĦ ï¼Į æĤ¨ åºĶ åģľæŃ¢ ä½¿çĶ¨ æĻ ´ éĽ ¨ ãĢĤ \ n "+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 3 . Ġ æľĢåĲİ æĽ´æĸ° çīĪæľ¬ ĠV ${ Build Config . VERSION _ NAME }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( getString ( R . string . ok ), Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button (" æĽ´å¤ļ "){ Ġ_, Ġ_ Ġ-> Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmore Privacy Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmore Privacy Intent . data Ġ= ĠUri . parse (" https :// blue bon net 2 7 . g itee . io / user Assignment . html ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( more Privacy Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĊĠĠĠĠĠĠĠ Ġ// set ĊĠĠĠĠĠĠĠ ĠActivity Set . remove Activity ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . about _ menu , menu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Prepare Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// dark Ġtheme ĊĠĠĠĠĠĠĠ Ġif ( is Dark Theme ( this )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcool apk Option Ġ= Ġmenu ?. getItem ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcool apk Option ?. icon Ġ= ĠContext Compat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Drawable ( this , R . drawable . baseline _ person _ search _ white _ 2 4 dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblog Option Ġ= Ġmenu ?. getItem ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblog Option ?. icon Ġ= ĠContext Compat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Drawable ( this , R . drawable . baseline _ computer _ white _ 2 4 dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage Option Ġ= Ġmenu ?. getItem ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Option ?. icon Ġ= ĠContext Compat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Drawable ( this , R . drawable . baseline _ message _ white _ 2 4 dp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Prepare Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( item . itemId ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġfinish () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . main Page About Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain Page Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Page Intent . data Ġ= ĠUri . parse (" https :// blue bon net 2 7 . g itee . io ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( main Page Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . cool apk Contact Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcool apk Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcool apk Intent . data Ġ= ĠUri . parse (" https :// www . cool apk . com / u / 1 7 5 6 6 4 5 ? from = qr ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( cool apk Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . blog Contact Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblog Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblog Intent . data Ġ= ĠUri . parse (" https :// blog . blue bon net 2 7 . xyz ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( blog Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . more Say Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroidx . appcompat . app . AlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( getString ( R . string . things _ to _ say )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( getString ( R . string . final Text Line 1 )+" \ n \ n " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ getString ( R . string . final Text Line 2 )+" \ n \ n " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ getString ( R . string . final Text Line 3 )+" \ n \ n " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ getString ( R . string . final Text Line 4 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( getString ( R . string . ok )) Ġ{ Ġdialog , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" è°¢ è°¢ ä½łçļĦ éĺħè¯» ", ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Menu Opened ( feature Id : ĠInt , Ġmenu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( Sun Rain Application . settings Preference . getBoolean (" others _ icon _ menu ", true )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( menu . java Class . simple Name . equals (" Menu Builder ", false )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= Ġmenu . java Class . getDeclared Method (" set Optional Icons Visible ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBoolean :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . is Accessible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . invoke ( menu , true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch Ġ( e : Exception ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Menu Opened ( feature Id , Ġmenu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetRandom For E gg ( activity : ĠActivity ){ ĊĠĠĠĠĠĠĠ Ġwhen (( 0 .. 1 0 0 ). random ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroidx . appcompat . app . AlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( getString ( R . string . egg _ title )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( getString ( R . string . sex _ pic )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( getString ( R . string . ok ), null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠToast . makeText ( activity , Ġresources . getString ( R . string . no _ egg ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Ali Pay ( activity : ĠActivity ){ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" intent :// platform api / start app ? sa Id = 1 0 0 0 0 0 0 7 & " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" client Version = 3 . 7 . 0 . 0 7 1 8 & qrcode = https % 3 A % 2 F % 2 F qr . alipay . com % 2 F fk x 1 1 8 1 0 q xc ir wa ic ged wc 6 % 3 F _ s " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"% 3 D web - other & _ t = 1 4 7 2 4 4 3 9 6 6 5 7 1 # Intent ;" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" scheme = alipay qr ; package = com . eg . android . A lip ay G phone ; end " ĊĠĠĠĠĠĠĠ Ġif ( has Installed A lip ay Client ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( Sun Rain Application . context , Ġ" æĦŁ è°¢ æĤ¨çļĦ æį Ĳ èµ ł ï¼ģ ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent . parse Uri ( url , Intent . URI _ INT ENT _ SCHEME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// safe Ġrules ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . add Category (" android . intent . category . BRO WS ABLE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . component Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . selector Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch Ġ( e : UR ISyntaxException ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( parent Lin er ," åķĬ åĵ ¦ ï¼Į ä¼¼ ä¹İ åĩº éĶĻ äºĨ ", Snackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( parent Lin er ," æĤ¨ ä¼¼ ä¹İ æ²¡æľī å®īè£ħ æĶ¯ä»ĺ å®Ŀ ", Snackbar . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhas Installed A lip ay Client (): Boolean { ĊĠĠĠĠĠĠĠ Ġval Ġal ipay PackageName Ġ= Ġ" com . eg . android . A lip ay G phone " ĊĠĠĠĠĠĠĠ Ġval Ġpackage Manager Ġ= ĠSun Rain Application . context . package Manager ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġpackage Manager . get Package Info ( alipay PackageName , 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : PackageManager . Name NotFoundException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Dark Theme ( context : ĠContext ): Boolean { ĊĠĠĠĠĠĠĠ Ġval Ġflag Ġ= Ġcontext . resources . configuration . ui Mode Ġand ĠConfiguration . UI _ MODE _ N IGHT _ MASK ĊĠĠĠĠĠĠĠ Ġreturn Ġflag Ġ== ĠConfiguration . UI _ MODE _ N IGHT _ YES ĊĠĠĠ Ġ} Ċ }