package Ġcom . nat ura . android . dialog Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . View Ċ import Ġandroid . view . Window Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġcom . nat ura . android . R Ċ import Ġcom . nat ura . android . divider . Divider Ċ import Ġcom . nat ura . android . icon Button . IconButton Ċ Ċ class ĠDialog Standard Ġprivate Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġdialog Title : ĠString , ĊĠĠĠ Ġprivate Ġval Ġmain Button Title : ĠString ?, ĊĠĠĠ Ġprivate Ġval Ġtext : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġmain Button Action : ĠDialog Interface . OnClickListener ?, ĊĠĠĠ Ġprivate Ġval Ġsecondary Button Title : ĠString ?, ĊĠĠĠ Ġprivate Ġval Ġsecondary Button Action : ĠDialog Interface . OnClickListener ?, ĊĠĠĠ Ġprivate Ġval Ġcontent Layout : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġcontent View : ĠView ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġdivider : ĠBoolean ? Ġ= Ġfalse , ĊĠĠĠ Ġprivate Ġval Ġstyle Buttons : ĠInt ? Ġ= ĠDEFAULT , ĊĠĠĠ Ġprivate Ġval Ġis Cancel able : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġprivate Ġval Ġdialog Theme : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġfirst Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġfirst Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġsecond Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġsecond Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġthird Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġthird Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġdialog Title : ĠString , ĊĠĠĠĠĠĠĠ Ġmain Button Title : ĠString ?, ĊĠĠĠĠĠĠĠ Ġmain Button Action : ĠDialog Interface . OnClickListener ?, ĊĠĠĠĠĠĠĠ Ġsecondary Button Title : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsecondary Button Action : ĠDialog Interface . OnClickListener ?, ĊĠĠĠĠĠĠĠ Ġcontent View : ĠView , ĊĠĠĠĠĠĠĠ Ġis Cancel able : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġdialog Theme : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġdivider : ĠBoolean ? Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġstyle Buttons : ĠInt ? Ġ= ĠDEFAULT , ĊĠĠĠĠĠĠĠ Ġfirst Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġfirst Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsecond Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsecond Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġthird Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġthird Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: ĊĠĠĠĠĠĠĠ Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Title Ġ= Ġdialog Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Button Title Ġ= Ġmain Button Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Button Action Ġ= Ġmain Button Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Button Title Ġ= Ġsecondary Button Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Button Action Ġ= Ġsecondary Button Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Layout Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent View Ġ= Ġcontent View , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Cancel able Ġ= Ġis Cancel able , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Theme Ġ= Ġdialog Theme , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdivider Ġ= Ġdivider , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Buttons Ġ= Ġstyle Buttons , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Header IconButton Ġ= Ġfirst Header IconButton , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Header IconButton Action Ġ= Ġfirst Header IconButton Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Header IconButton Ġ= Ġsecond Header IconButton , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Header IconButton Action Ġ= Ġsecond Header IconButton Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthird Header IconButton Ġ= Ġthird Header IconButton , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthird Header IconButton Action Ġ= Ġthird Header IconButton Action ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġdialog Title : ĠString , ĊĠĠĠĠĠĠĠ Ġmain Button Title : ĠString ?, ĊĠĠĠĠĠĠĠ Ġmain Button Action : ĠDialog Interface . OnClickListener ?, ĊĠĠĠĠĠĠĠ Ġsecondary Button Title : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsecondary Button Action : ĠDialog Interface . OnClickListener ?, ĊĠĠĠĠĠĠĠ Ġcontent Layout : ĠInt , ĊĠĠĠĠĠĠĠ Ġis Cancel able : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġdialog Theme : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġdivider : ĠBoolean ? Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġstyle Buttons : ĠInt ? Ġ= ĠDEFAULT , ĊĠĠĠĠĠĠĠ Ġfirst Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġfirst Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsecond Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsecond Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġthird Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġthird Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: ĊĠĠĠĠĠĠĠ Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Title Ġ= Ġdialog Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Button Title Ġ= Ġmain Button Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Button Action Ġ= Ġmain Button Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Button Title Ġ= Ġsecondary Button Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Button Action Ġ= Ġsecondary Button Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Layout Ġ= Ġcontent Layout , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent View Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Cancel able Ġ= Ġis Cancel able , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Theme Ġ= Ġdialog Theme , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdivider Ġ= Ġdivider , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Buttons Ġ= Ġstyle Buttons , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Header IconButton Ġ= Ġfirst Header IconButton , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Header IconButton Action Ġ= Ġfirst Header IconButton Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Header IconButton Ġ= Ġsecond Header IconButton , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Header IconButton Action Ġ= Ġsecond Header IconButton Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthird Header IconButton Ġ= Ġthird Header IconButton , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthird Header IconButton Action Ġ= Ġthird Header IconButton Action ĊĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġdialog Title : ĠString , ĊĠĠĠĠĠĠĠ Ġmain Button Title : ĠString ?, ĊĠĠĠĠĠĠĠ Ġmain Button Action : ĠDialog Interface . OnClickListener ?, ĊĠĠĠĠĠĠĠ Ġsecondary Button Title : ĠString ?, ĊĠĠĠĠĠĠĠ Ġsecondary Button Action : ĠDialog Interface . OnClickListener ?, ĊĠĠĠĠĠĠĠ Ġtext : ĠString , ĊĠĠĠĠĠĠĠ Ġis Cancel able : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġdialog Theme : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġdivider : ĠBoolean ? Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġstyle Buttons : ĠInt ? Ġ= ĠDEFAULT , ĊĠĠĠĠĠĠĠ Ġfirst Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġfirst Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsecond Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsecond Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġthird Header IconButton : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġthird Header IconButton Action : ĠView . OnClickListener ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: ĊĠĠĠĠĠĠĠ Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Title Ġ= Ġdialog Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Button Title Ġ= Ġmain Button Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Button Action Ġ= Ġmain Button Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Button Title Ġ= Ġsecondary Button Title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Button Action Ġ= Ġsecondary Button Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġtext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Layout Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent View Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Cancel able Ġ= Ġis Cancel able , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Theme Ġ= Ġdialog Theme , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdivider Ġ= Ġdivider , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Buttons Ġ= Ġstyle Buttons , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Header IconButton Ġ= Ġfirst Header IconButton , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Header IconButton Action Ġ= Ġfirst Header IconButton Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Header IconButton Ġ= Ġsecond Header IconButton , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Header IconButton Action Ġ= Ġsecond Header IconButton Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthird Header IconButton Ġ= Ġthird Header IconButton , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthird Header IconButton Action Ġ= Ġthird Header IconButton Action ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġlateinit Ġvar Ġdialog : ĠAlertDialog ĊĊĠĠĠ Ġfun Ġcreate (): ĠDialog Standard Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog Ġ= ĠAlertDialog . Builder ( context , Ġresolve Theme Resource ()). create (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Window Feature ( Window . FEATURE _ NO _ TITLE ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog View Ġ= Ġlayout Inflater . inflate ( R . layout . dialog _ standard _ view , Ġnull ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= ĠfindViewById < TextView >( R . id . dialog Standard Title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Container Ġ= ĠfindViewById < LinearLayout >( R . id . content Container ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . type face Ġ= Ġget Font From Theme ( R . attr . dialog Title Primary Font Weight , ĠR . attr . dialog Title Fallback Font Weight ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . text Ġ= Ġdialog Title ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Header IconButton ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Header IconButton Ġ= ĠfindViewById < IconButton >( R . id . first IconButton ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset IconButton ( first Header IconButton , Ġit , Ġfirst Header IconButton Action ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Header IconButton ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsecond Header IconButton Ġ= ĠfindViewById < IconButton >( R . id . second IconButton ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset IconButton ( second Header IconButton , Ġit , Ġsecond Header IconButton Action ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthird Header IconButton ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthird Header IconButton Ġ= ĠfindViewById < IconButton >( R . id . third IconButton ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset IconButton ( third Header IconButton , Ġit , Ġthird Header IconButton Action ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater . inflate ( R . layout . dialog _ standard _ content , Ġnull ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= ĠfindViewById < TextView >( R . id . dialog Alert Text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . type face Ġ= Ġget Font From Theme ( R . attr . dialog Body Primary Font Weight , ĠR . attr . dialog Body Fallback Font Weight ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġtext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Container ?. addView ( content Text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent View ?. let Ġ{ Ġcontent Container ?. addView ( content View ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Layout ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Container ?. addView ( layout Inflater . inflate ( it , Ġnull )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( divider Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Divider Ġ= ĠfindViewById < Divider >( R . id . top Divider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Divider Ġ= ĠfindViewById < Divider >( R . id . bottom Divider ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Divider . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Divider . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset View ( dialog View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Button Title ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Button ( DialogInterface . BUTTON _ POSITIVE , Ġmain Button Title , Ġmain Button Action ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Button Title ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Button ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Interface . BUTTON _ NEGATIVE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Button Title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecondary Button Action ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Cancel able ( is Cancel able ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow () Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Font From Theme ( font Primary : ĠInt , Ġfont Fallback : ĠInt ): ĠType face Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= ĠTyped Value () ĊĠĠĠĠĠĠĠ Ġcontext . theme . resolve Attribute ( font Primary , Ġoutput , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( output . type Ġ== ĠTyped Value . TYPE _ NULL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . theme . resolve Attribute ( font Fallback , Ġoutput , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠType face . create ( output . string . toString (), ĠType face . NORMAL ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset IconButton ( icon Button : ĠIcon Button , Ġicon : ĠString , Ġaction : ĠView . OnClickListener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġicon Button . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġicon Button . setIcon ( icon ) ĊĠĠĠĠĠĠĠ Ġicon Button . setOnClickListener ( action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġresolve Theme Resource (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdialog Theme Resource Ġ= ĠTyped Value () ĊĊĠĠĠĠĠĠĠ Ġdialog Theme ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . set Theme ( dialog Theme ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdialog Style Ġ= Ġwhen Ġ( style Buttons ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDEFAULT Ġ-> Ġ{ ĠR . attr . dialog Standard Theme Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCON TAIN ED Ġ-> Ġ{ ĠR . attr . dialog With Cont ained Buttons Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĠR . attr . dialog With Text Buttons Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcontext . theme . resolve Attribute ( dialog Style , Ġdialog Theme Resource , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġdialog Theme Resource . resourceId ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEFAULT Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCON TAIN ED Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTEXT Ġ= Ġ 2 ĊĠĠĠ Ġ} Ċ } Ċ