package Ġgithub . t orn aco . than os . module . component . manager Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . widget . PopupMenu Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġandroidx . lifecycle . ViewModel Provider . Android ViewModel Factory Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġgithub . t orn aco . android . than os . core . app . Than os Manager Ċ import Ġgithub . t orn aco . android . than os . core . pm . App Info Ċ import Ġgithub . t orn aco . android . than os . util . Activity Utils Ċ import Ġgithub . t orn aco . android . than os . util . Toast Utils Ċ import Ġgithub . t orn aco . than os . module . component . manager . model . ComponentModel Ċ Ċ class ĠService List Activity Ġ: ĠComponent List Activity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext , Ġapp Info : ĠApp Info ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . put Parcelable (" app ", Ġapp Info ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Utils . startActivity ( context , ĠService List Activity :: class . java , Ġdata ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġobtain ViewModel ( activity : ĠFragment Activity ): ĠComponent List ViewModel Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠAndroid ViewModel Factory ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. getInstance ( activity . application ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewModel Providers . of ( activity , Ġfactory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get < Service List ViewModel >( Service List ViewModel :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Item PopupMenu ( anchor : ĠView , Ġcomponent Model : ĠComponent Model ): ĠPopup Menu Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpopup Menu Ġ= ĠPopup Menu ( this Activity (), Ġanchor ) ĊĠĠĠĠĠĠĠ Ġpopup Menu . inflate ( R . menu . module _ component _ manager _ component _ service _ item _ menu ) ĊĠĠĠĠĠĠĠ Ġpopup Menu . setOn MenuItem ClickListener ( onCreate Item On MenuItem ClickListener ( component Model )) ĊĠĠĠĠĠĠĠ Ġreturn Ġpopup Menu ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Item On MenuItem ClickListener ( component Model : ĠComponent Model ): ĠPopup Menu . On MenuItem ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdef Ġ= Ġsuper . onCreate Item On MenuItem ClickListener ( component Model ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPopup Menu . On MenuItem ClickListener Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item !!. itemId Ġ== ĠR . id . action _ stand by _ keep ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrule Ġ= Ġ" KEEP Ġ${ component Model . component Name . flatten ToString () }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTh an os Manager . from ( this Activity ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. activity Manager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Stand by Rule ( rule ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . ok ( this Activity ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef . on MenuItem Click ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }