package Ġcom . fib el att i . ra ff ler . core . platform Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . fib el att i . core . extension . inflate Ċ import Ġcom . fib el att i . ra ff ler . R Ċ import Ġcom . fib el att i . ra ff ler . core . extension . set Shape BackgroundColor Ċ Ċ interface ĠDis miss ible Hint Ġ{ ĊĊĠĠĠ Ġfun Ġshow Dismiss ible Hint ( ĊĠĠĠĠĠĠĠ Ġcontainer : ĠView , ĊĠĠĠĠĠĠĠ Ġ@ String Res Ġhint Title : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ String Res Ġhint Message : ĠInt , ĊĠĠĠĠĠĠĠ Ġon Hint Dis missed : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġshow Dismiss ible Hint ( ĊĠĠĠĠĠĠĠ Ġcontainer : ĠView , ĊĠĠĠĠĠĠĠ Ġhint Title : ĠString , ĊĠĠĠĠĠĠĠ Ġhint Message : ĠString , ĊĠĠĠĠĠĠĠ Ġon Hint Dis missed : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġ) Ċ } Ċ Ċ class ĠDis miss ible Hint Delegate Ġ: ĠDis miss ible Hint Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġshow Dismiss ible Hint ( ĊĠĠĠĠĠĠĠ Ġcontainer : ĠView , ĊĠĠĠĠĠĠĠ Ġhint Title : ĠInt , ĊĠĠĠĠĠĠĠ Ġhint Message : ĠInt , ĊĠĠĠĠĠĠĠ Ġon Hint Dis missed : Ġ(() Ġ-> ĠUnit )? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Dismiss ible Hint ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer Ġ= Ġcontainer , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhint Title Ġ= Ġcontainer . context . getString ( hint Title ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhint Message Ġ= Ġcontainer . context . getString ( hint Message ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Hint Dis missed Ġ= Ġon Hint Dis missed ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Dismiss ible Hint ( ĊĠĠĠĠĠĠĠ Ġcontainer : ĠView , ĊĠĠĠĠĠĠĠ Ġhint Title : ĠString , ĊĠĠĠĠĠĠĠ Ġhint Message : ĠString , ĊĠĠĠĠĠĠĠ Ġon Hint Dis missed : Ġ(() Ġ-> ĠUnit )? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( container Ġas ? ĠViewGroup )?. inflate ( R . layout . layout _ dismiss ible _ hint ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġroot Layout Ġ= ĠfindViewById < LinearLayout >( R . id . layout Root ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtextView Hint Title Ġ= ĠfindViewById < TextView >( R . id . textView Hint Title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtextView Hint Message Ġ= ĠfindViewById < TextView >( R . id . textView Hint Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbutton Hint Dismiss Ġ= ĠfindViewById < TextView >( R . id . textView Button Dismiss ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot Layout . set Shape BackgroundColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( root Layout . context , ĠR . color . color _ surface ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Hint Title . text Ġ= Ġhint Title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Hint Message . text Ġ= Ġhint Message ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Hint Dismiss . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Hint Dis missed ?. invoke () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . remove View ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let ( container :: addView ) ĊĠĠĠ Ġ} Ċ } Ċ