package Ġbrowser . control Ċ Ċ import Ġcom . google . gson . JsonArray Ċ import Ġcom . google . gson . JsonObject Ċ Ċ class ĠTab Options Ġ{ ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġare Ġactive Ġin Ġtheir Ġwindows . Ġ*/ ĊĠĠĠ Ġvar Ġactive : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġare Ġaud ible . Ġ*/ ĊĠĠĠ Ġvar Ġaud ible : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġcan Ġbe Ġdiscarded Ġautomatically Ġby Ġthe Ġbrowser Ġwhen Ġresources Ġare Ġlow . Ġ*/ ĊĠĠĠ Ġvar Ġauto Discard able : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠUse Ġthis Ġto Ġreturn Ġonly Ġtabs Ġwhose Ġcookie Ġstore ĠID Ġis Ġcookie Store Id . Ġ*/ ĊĠĠĠ Ġvar Ġcookie Store Id : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġare Ġin Ġthe Ġcurrent Ġwindow . Ġ*/ ĊĠĠĠ Ġvar Ġcurrent Window : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġare Ġdiscarded . ĠA Ġdiscarded Ġtab Ġis Ġone Ġwhose Ġcontent Ġhas Ġbeen Ġun loaded Ġfrom Ġmemory , Ġbut Ġis Ġstill Ġvisible Ġin Ġthe Ġtab Ġstrip . ĠIts Ġcontent Ġgets Ġre loaded Ġthe Ġnext Ġtime Ġit 's Ġactivated . Ġ*/ ĊĠĠĠ Ġvar Ġdiscarded : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġare Ġhidden . Ġ*/ ĊĠĠĠ Ġvar Ġhidden : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġare Ġhighlighted . Ġ*/ ĊĠĠĠ Ġvar Ġhighlighted : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠThe Ġposition Ġof Ġthe Ġtabs Ġwithin Ġtheir Ġwindows . Ġ*/ ĊĠĠĠ Ġvar Ġindex : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġare Ġmut ed . Ġ*/ ĊĠĠĠ Ġvar Ġmut ed : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġare Ġin Ġthe Ġlast Ġfocused Ġwindow . Ġ*/ ĊĠĠĠ Ġvar Ġlast Focused Window : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġare Ġpinned . Ġ*/ ĊĠĠĠ Ġvar Ġpinned : ĠBoolean ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠWhether Ġthe Ġtabs Ġhave Ġcompleted Ġloading . ĊĠĠĠĠ Ġ* ĠPossible Ġvalues Ġare : Ġ' loading ' Ġand Ġ' complete ' Ġ*/ ĊĠĠĠ Ġvar Ġstatus : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠMatch Ġpage Ġtitles Ġagainst Ġa Ġpattern . Ġ*/ ĊĠĠĠ Ġvar Ġtitle : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠMatch Ġtabs Ġagainst Ġone Ġor Ġmore Ġmatch Ġpatterns . ĠNote Ġthat Ġfragment Ġidentifiers Ġare Ġnot Ġmatched . Ġ*/ ĊĠĠĠ Ġvar Ġurl : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ/** ĠMatch Ġtabs Ġagainst Ġone Ġor Ġmore Ġmatch Ġpatterns . ĠNote Ġthat Ġfragment Ġidentifiers Ġare Ġnot Ġmatched . Ġ*/ ĊĠĠĠ Ġvar Ġurls : ĠList < String >? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠThe Ġid Ġof Ġthe Ġparent Ġwindow . Ġ*/ ĊĠĠĠ Ġvar Ġwindow Id : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĠThe Ġtype Ġof Ġwindow Ġthe Ġtabs Ġare Ġin . ĊĠĠĠĠ Ġ* ĠPossible Ġvalues Ġare : Ġ' normal ', Ġ' popup ', Ġ' panel ', Ġ' devtools ' Ġ*/ ĊĠĠĠ Ġvar Ġwindow Type : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġfun ĠtoJson () Ġ= ĠJsonObject (). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( active Ġ!= Ġnull ) Ġadd Property (" active ", Ġactive ) ĊĠĠĠĠĠĠĠ Ġif Ġ( aud ible Ġ!= Ġnull ) Ġadd Property (" aud ible ", Ġaud ible ) ĊĠĠĠĠĠĠĠ Ġif Ġ( auto Discard able Ġ!= Ġnull ) Ġadd Property (" auto Discard able ", Ġauto Discard able ) ĊĠĠĠĠĠĠĠ Ġif Ġ( cookie Store Id Ġ!= Ġnull ) Ġadd Property (" cookie Store Id ", Ġcookie Store Id ) ĊĠĠĠĠĠĠĠ Ġif Ġ( current Window Ġ!= Ġnull ) Ġadd Property (" current Window ", Ġcurrent Window ) ĊĠĠĠĠĠĠĠ Ġif Ġ( dis carded Ġ!= Ġnull ) Ġadd Property (" dis carded ", Ġdiscarded ) ĊĠĠĠĠĠĠĠ Ġif Ġ( hidden Ġ!= Ġnull ) Ġadd Property (" hidden ", Ġhidden ) ĊĠĠĠĠĠĠĠ Ġif Ġ( highlighted Ġ!= Ġnull ) Ġadd Property (" highlighted ", Ġhighlighted ) ĊĠĠĠĠĠĠĠ Ġif Ġ( index Ġ!= Ġnull ) Ġadd Property (" index ", Ġindex ) ĊĠĠĠĠĠĠĠ Ġif Ġ( muted Ġ!= Ġnull ) Ġadd Property (" muted ", Ġmut ed ) ĊĠĠĠĠĠĠĠ Ġif Ġ( last Focused Window Ġ!= Ġnull ) Ġadd Property (" last Focused Window ", Ġlast Focused Window ) ĊĠĠĠĠĠĠĠ Ġif Ġ( pinned Ġ!= Ġnull ) Ġadd Property (" pinned ", Ġpinned ) ĊĠĠĠĠĠĠĠ Ġif Ġ( status Ġ!= Ġnull ) Ġadd Property (" status ", Ġstatus ) ĊĠĠĠĠĠĠĠ Ġif Ġ( title Ġ!= Ġnull ) Ġadd Property (" title ", Ġtitle ) ĊĠĠĠĠĠĠĠ Ġif Ġ( url Ġ!= Ġnull ) Ġadd Property (" url ", Ġurl ) ĊĠĠĠĠĠĠĠ Ġif Ġ( urls Ġ!= Ġnull ) Ġadd (" url ", ĠJson Array (). also Ġ{ Ġurls !!. forEach ( it :: add ) Ġ}) ĊĠĠĠĠĠĠĠ Ġif Ġ( window Id Ġ!= Ġnull ) Ġadd Property (" window Id ", Ġwindow Id ) ĊĠĠĠĠĠĠĠ Ġif Ġ( window Type Ġ!= Ġnull ) Ġadd Property (" window Type ", Ġwindow Type ) ĊĠĠĠ Ġ} Ċ Ċ }