package Ġcom . simpl ation . mv vm . app Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġcat . ere za . custom activity on crash . config . Ca oc Config Ċ import Ġcom . king ja . loads ir . callback . Success Callback Ċ import Ġcom . king ja . loads ir . core . Load S ir Ċ import Ġcom . simpl ation . mv vm . app . event . App ViewModel Ċ import Ġcom . simpl ation . mv vm . app . event . Event ViewModel Ċ import Ġcom . simpl ation . mv vm . app . ext . get Process Name Ċ import Ġcom . simpl ation . mv vm . app . weight . load Callback . Empty Callback Ċ import Ġcom . simpl ation . mv vm . app . weight . load Callback . Error Callback Ċ import Ġcom . simpl ation . mv vm . app . weight . load Callback . Loading Callback Ċ import Ġcom . simpl ation . mv vm . ui . activity . Error Activity Ċ import Ġcom . simpl ation . mv vm . ui . activity . Welcome Activity Ċ import Ġcom . simpl ation . mv vm lib . base . Base App Ċ import Ġcom . simpl ation . mv vm lib . ext . util . Mv vm Log Ċ import Ġcom . simpl ation . mv vm lib . ext . util . log d Ċ import Ġcom . tencent . bug ly . Bug ly Ċ import Ġcom . tencent . bug ly . crash report . Crash Report Ċ import Ġcom . tencent . mm kv . Build Config Ċ import Ġcom . tencent . mm kv . MM KV Ċ Ċ /** Ċ Ġ* ĠApp Ċ Ġ* Ċ Ġ* Ġ@ constructor ĠCreate Ġempty ĠApp Ċ Ġ*/ Ċ Ċ // ĠApplication Ġ åħ¨å±Ģ çļĦ ĠViewModel ï¼Į éĩĮéĿ¢ åŃĺ æĶ¾ äºĨ ä¸ĢäºĽ è´¦æĪ· ä¿¡æģ¯ ï¼Į åŁºæľ¬ éħįç½® ä¿¡æģ¯ çŃī Ċ val Ġapp ViewModel : ĠApp ViewModel Ġby Ġlazy Ġ{ ĠApp . app ViewModel Instance Ġ} Ċ Ċ // ĠApplication Ġ åħ¨å±Ģ çļĦ ĠViewModel ï¼Į çĶ¨äºİ åıĳéĢģ åħ¨å±Ģ éĢļçŁ¥ æĵįä½ľ Ċ val Ġevent ViewModel : ĠEvent ViewModel Ġby Ġlazy Ġ{ ĠApp . event ViewModel Instance Ġ} Ċ Ċ class ĠApp Ġ: ĠBase App () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġinstance : ĠApp ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġevent ViewModel Instance : ĠEvent ViewModel ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġapp ViewModel Instance : ĠApp ViewModel ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . P ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ ĠM MK V . initialize ( this , this . files Dir . absolute Path Ġ+ Ġ"/ mm kv ") ĊĠĠĠĠĠĠĠ Ġinstance Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġevent ViewModel Instance Ġ= Ġget App ViewModel Provider (). get ( Event ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġapp ViewModel Instance Ġ= Ġget App ViewModel Provider (). get ( App ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠMulti Dex . install ( this ) ĊĠĠĠĠĠĠĠ Ġ// Ġ çķĮéĿ¢ åĬłè½½ ç®¡çĲĨ ĠåĪĿå§ĭåĮĸ ĊĠĠĠĠĠĠĠ ĠLoad S ir . begin Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Callback ( Loading Callback ()) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åĬłè½½ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Callback ( Error Callback ()) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ éĶĻè¯¯ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Callback ( Empty Callback ()) ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ç©º ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDefault Callback ( Success Callback :: class . java ) ĠĠĠ Ġ// Ġè®¾ç½® é»ĺè®¤ åĬłè½½ çĬ¶æĢģ é¡µ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠ Ġ// ĠåĪĿå§ĭåĮĸ ĠBug ly ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġapplication Context ĊĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ å½ĵåīį åĮħ åĲį ĊĠĠĠĠĠĠĠ Ġval ĠpackageName Ġ= Ġcontext . packageName ĊĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ å½ĵåīį è¿Ľç¨ĭ åĲį ĊĠĠĠĠĠĠĠ Ġval Ġprocess Name Ġ= Ġget Process Name ( android . os . Process . my Pid ()) ĊĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® æĺ¯åĲ¦ ä¸º ä¸Ĭ æĬ¥ è¿Ľç¨ĭ ĊĠĠĠĠĠĠĠ Ġval Ġstrategy Ġ= ĠCrash Report . User Strategy ( context ) ĊĠĠĠĠĠĠĠ Ġstrategy . is Upload Process Ġ= Ġprocess Name Ġ== Ġnull Ġ|| Ġprocess Name Ġ== ĠpackageName ĊĠĠĠĠĠĠĠ Ġ// ĠåĪĿå§ĭåĮĸ ĠBug ly ĊĠĠĠĠĠĠĠ ĠBug ly . init ( context , Ġif Ġ( Build Config . DEBUG ) Ġ" xxx " Ġelse Ġ" a 5 2 f 2 b 5 ebb ", ĠBuild Config . DEBUG ) ĊĠĠĠĠĠĠĠ Ġ"". log d () ĊĠĠĠĠĠĠĠ ĠM v vm Log Ġ= ĠBuild Config . DEBUG ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġ éĺ² æŃ¢ é¡¹çĽ® å´ © æº ĥ ï¼Į å´ © æº ĥ åĲİ æīĵå¼Ģ éĶĻè¯¯ çķĮéĿ¢ ĊĠĠĠĠĠĠĠ ĠCa oc Config . Builder . create () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. background Mode ( Ca oc Config . BACKGROUND _ MODE _ SIL ENT ) Ġ// Ġdefault : ĠCa oc Config . BACKGROUND _ MODE _ SHOW _ CUSTOM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġæĺ¯åĲ¦ åĲ¯çĶ¨ ĠCustom Activity On Crash Ġ å´ © æº ĥ æĭ ¦ æĪª æľºåĪ¶ Ġ å¿ħé¡» åĲ¯çĶ¨ ï¼ģ ä¸į çĦ¶ éĽĨ æĪĲ è¿Ļä¸ª åºĵ å¹² åķ ¥ ï¼Ł ï¼Ł ï¼Ł ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġæĺ¯åĲ¦ å¿ħé¡» æĺ¾ç¤º åĮħåĲ« éĶĻè¯¯ è¯¦ç»Ĩ ä¿¡æģ¯ çļĦ æĮīéĴ® Ġdefault : Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. show Error Details ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġæĺ¯åĲ¦ å¿ħé¡» æĺ¾ç¤º âĢľ éĩįæĸ° åĲ¯åĬ¨ åºĶçĶ¨ç¨ĭåºı âĢĿ æĮīéĴ® æĪĸ âĢľ åħ³éĹŃ åºĶçĶ¨ç¨ĭåºı âĢĿ æĮīéĴ® Ġdefault : Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. show Restart Button ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġæĺ¯åĲ¦ å¿ħé¡» éĩįæĸ° åłĨ æłĪ åłĨ æłĪ è·Ł è¸ª Ġdefault : Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. log Error On Restart ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġæĺ¯åĲ¦ å¿ħé¡» è·Ł è¸ª çĶ¨æĪ· è®¿éĹ® çļĦ æ´»åĬ¨ åıĬ åħ¶ çĶŁåĳ½ åĳ¨æľŁ è°ĥçĶ¨ Ġdefault : Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. track Activities ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åºĶçĶ¨ç¨ĭåºı å´ © æº ĥ ä¹ĭéĹ´ å¿ħé¡» ç»ı è¿ĩ çļĦæĹ¶éĹ´ Ġdefault : Ġ 3 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. min Time Between Cr ashes Ms ( 2 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ éĩį åĲ¯ çļĦ ĠActivity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. restart Activity ( Welcome Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åıĳçĶŁ éĶĻè¯¯ è·³è½¬ çļĦ ĠActivity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. error Activity ( Error Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply () ĊĠĠĠ Ġ} Ċ }