package Ġcom . xiao jin zi . component demo . view Ċ Ċ import Ġandroid . app . Notification Channel Ċ import Ġandroid . app . Notification Manager Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . app . Notification Compat Ċ import Ġcom . xiao jin zi . base . Module Config Ċ import Ġcom . xiao jin zi . base . router . App Api Ċ import Ġcom . xiao jin zi . component . Component Ċ import Ġcom . xiao jin zi . component . anno . Attr Value Autowired Anno Ċ import Ġcom . xiao jin zi . component . anno . Router Anno Ċ import Ġcom . xiao jin zi . component . forward For Target Intent Ċ import Ġcom . xiao jin zi . component . impl . Router Ċ import Ġcom . xiao jin zi . component . impl . application . Module Manager Ċ import Ġcom . xiao jin zi . component . support . Action Ċ import Ġcom . xiao jin zi . component demo . R Ċ Ċ /** Ċ Ġ* Ġ åĲ¯åĬ¨ çķĮéĿ¢ Ċ Ġ*/ Ċ @ Router Anno ( path Ġ= Ġ" main ") Ċ class ĠMain Act Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ@ Attr Value Autowired Anno (" name ") ĊĠĠĠ Ġlateinit Ġvar Ġname Test Test : ĠString ĊĊĠĠĠ Ġ@ Attr Value Autowired Anno (" name 1 ") ĊĠĠĠ Ġvar Ġname Test Test 1 : ĠString Ġ= Ġ"" ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . main _ act ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" name ", Ġ" test Name ") ĊĠĠĠĠĠĠĠ ĠComponent . inject ( this ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. title Ġ= Ġ" ç»Ħä»¶ åĮĸ æĸ¹æ¡Ī :( è·¯çĶ± ãĢģ æľįåĬ¡ ãĢģ çĶŁåĳ½ åĳ¨æľŁ )" ĊĠĠĠĠĠĠĠ Ġcreate Notification Channel () ĊĠĠĠĠĠĠĠ Ġstart Proxy Router ( intent . extras ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġval Ġtarget : ĠRouter Request . I Router RequestBuilder < Router Request . Router RequestBuilder > Ġ= ĠRouter Request . Router RequestBuilder () ĊĠĠĠĠĠĠĠ Ġ// Ġtarget . userInfo (" 1 2 3 ") ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon New Intent ( intent : ĠIntent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on New Intent ( intent ) ĊĠĠĠĠĠĠĠ Ġstart Proxy Router ( intent . extras ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Proxy Router ( bundle : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Router . is Proxy Intent Exist ( bundle )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRouter . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. proxy Bundle ( bundle !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forward () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload App Module ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠModule Manager . register ( Module Config . App . NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġun load App Module ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠModule Manager . unregister ( Module Config . App . NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload User Module ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠModule Manager . register ( Module Config . User . NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġun load User Module ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠModule Manager . unregister ( Module Config . User . NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Help Module ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠModule Manager . register ( Module Config . Help . NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġun load Help Module ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠModule Manager . unregister ( Module Config . Help . NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Module 1 Module ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠModule Manager . register ( Module Config . Module 1 . NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġun load Module 1 Module ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠModule Manager . unregister ( Module Config . Module 1 . NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Module 2 Module ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠModule Manager . register ( Module Config . Module 2 . NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġun load Module 2 Module ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠModule Manager . unregister ( Module Config . Module 2 . NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Router ( view : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠRouter . with Api ( App Api :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. goTo Test Router ( object Ġ: ĠAction { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ Main Act , Ġ" è·³è½¬ åĲİçļĦ æıĲç¤º ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Router For Fragment ( view : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġbundle . put Int (" age ", Ġ 2 6 ) ĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠRouter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with (" component 1 . fragment ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigate () ĊĠĠĠĠĠĠĠ Ġif Ġ( fragment Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" æ²¡æľī æī¾åĪ° Ġ' component 1 . fragment ' Ġ å¯¹åºĶçļĦ ĠFragment ", ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" æī¾åĪ° äºĨ Ġ' component 1 . fragment ' Ġ å¯¹åºĶçļĦ ĠFragment ï¼ļ ï¼ļ $ fragment ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Web Router ( view : ĠView ?) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠRouter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( this @ Main Act ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. host ( Module Config . Help . NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. path ( Module Config . Help . TEST _ WEB _ ROUT ER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. after Start Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . anim . fade _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forward For Target Intent Ġ{ Ġtarget Intent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( target Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . anim . fade _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/* Global Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtarget Intent Ġ= ĠRouter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( this @ Main Act ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. host ( Module Config . Help . NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. path ( Module Config . Help . TEST _ WEB _ ROUT ER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. after Start Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . anim . fade _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. target Intent Await () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( target Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Pending Transition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . anim . fade _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}*/ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠ Ġfun Ġtest Quality ( view : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠRouter . with Api ( App Api :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. goTo Test Quality () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġintent Router 1 ( view : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠRouter . new Proxy Intent Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. host ( Module Config . User . NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. path ( Module Config . User . PERSON _ CENTER Ġ+ Ġ" 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build Proxy Intent () ĊĠĠĠĠĠĠĠ Ġval Ġnotification Manager Ġ= Ġget System Service ( NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠNotification Compat . Builder ( this , ĠCHAN NEL _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAuto Cancel ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Small Icon ( R . mip map . app _ icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Title (" æµĭè¯ķ çĤ¹åĩ» è·³è½¬ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text (" ä½¿çĶ¨ é»ĺè®¤ ä»£çĲĨ Activity , Ġ çĤ¹ æĪĳ è·³è½¬ åĪ° çĶ¨æĪ· ä¸Ńå¿ĥ , Ġæ ¡ Ĩ æŀ¶ èĩªåĬ¨ å®ĮæĪĲ çĻ» éĻĨ è¿ĩç¨ĭ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Intent ( Pending Intent . getActivity ( application , Ġ 0 , Ġintent , Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Priority ( Notification Compat . PRIORITY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġnotification Manager . notify ( 1 , Ġbuilder . build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġintent Router 2 ( view : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠRouter . new Proxy Intent Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. host ( Module Config . User . NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. path ( Module Config . User . PERSON _ CENTER Ġ+ Ġ" 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. proxy Activity ( this . java Class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build Proxy Intent () ĊĠĠĠĠĠĠĠ Ġval Ġnotification Manager Ġ= Ġget System Service ( NOTIFICATION _ SERVICE ) Ġas ĠNotification Manager ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠNotification Compat . Builder ( this , ĠCHAN NEL _ ID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAuto Cancel ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Small Icon ( R . mip map . app _ icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Title (" æµĭè¯ķ çĤ¹åĩ» è·³è½¬ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Text (" ä½¿çĶ¨ ĠMain Act Ġä¸º ä»£çĲĨ çķĮéĿ¢ , Ġ çĤ¹ æĪĳ è·³è½¬ åĪ° çĶ¨æĪ· ä¸Ńå¿ĥ , Ġæ ¡ Ĩ æŀ¶ èĩªåĬ¨ å®ĮæĪĲ çĻ» éĻĨ è¿ĩç¨ĭ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setContent Intent ( Pending Intent . getActivity ( application , Ġ 0 , Ġintent , Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Priority ( Notification Compat . PRIORITY _ DEFAULT ) ĊĠĠĠĠĠĠĠ Ġnotification Manager . notify ( 2 , Ġbuilder . build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Service ( view : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠRouter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. host ( Module Config . App . NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. path ( Module Config . App . TEST _ SERVICE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forward () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Notification Channel () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġthe ĠNotification Channel , Ġbut Ġonly Ġon ĠAPI Ġ 2 6 + Ġbecause ĊĠĠĠĠĠĠĠ Ġ// Ġthe ĠNotification Channel Ġclass Ġis Ġnew Ġand Ġnot Ġin Ġthe Ġsupport Ġlibrary ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname : ĠCharSequence Ġ= Ġ" Component " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdescription Ġ= Ġ" Component Desc " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimportance Ġ= ĠNotification Manager . IMPORT ANCE _ DEFAULT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠNotification Channel ( CHANNEL _ ID , Ġname , Ġimportance ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . description Ġ= Ġdescription ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRegister Ġthe Ġchannel Ġwith Ġthe Ġsystem ; Ġyou Ġcan 't Ġchange Ġthe Ġimportance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġor Ġother Ġnotification Ġbehaviors Ġafter Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnotification Manager Ġ= Ġget System Service ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Manager :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Manager . create Notification Channel ( channel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== Ġ 1 2 3 Ġ&& ĠresultCode Ġ== ĠRESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" è¿ĶåĽŀ æķ°æį® åķ ¦ ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCHAN NEL _ ID Ġ= Ġ" Component Channel " ĊĠĠĠ Ġ} Ċ }