/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠChen he Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġme . chen he . we ar vision . preference Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . appcompat . content . res . AppCompat Resources Ċ import Ġandroidx . core . content . res . use Ċ import Ġandroidx . preference . Dialog Preference Ċ import Ġme . chen he . we ar vision . R Ċ import Ġme . chen he . we ar vision . util . Typed Array Utils Ċ Ċ /** Ċ Ġ* ĠA Ġbase Ġclass Ġfor Ġ[ android x . preference . Preference ] s Ġthat Ġare Ġdialog - based . ĠWhen Ġclicked , Ġthese Ġpreferences Ġwill Ġopen Ċ Ġ* Ġa Ġdialog Ġshowing Ġthe Ġactual Ġpreference Ġcontrols . Ċ Ġ* Ċ Ġ* ĠComp ared Ġto Ġandroidx , Ġthis Ġclass Ġsupports Ġthe Ġfollowing Ġadditional Ġattributes : Ċ Ġ* Ċ Ġ* Ġ- Ġ[ R . attr . wv _ positive Button Icon ] Ċ Ġ* Ġ- Ġ[ R . attr . wv _ negative Button Icon ] Ċ Ġ* Ċ Ġ* Ġ@ see Ġ[ android x . preference . Dialog Preference ] Ċ Ġ*/ Ċ abstract Ġclass ĠDialog Preference Ġ: ĠDialog Preference Ġ{ ĊĊĠĠĠ Ġvar Ġpositive Button Icon : ĠDrawable ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġnegative Button Icon : ĠDrawable ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġthis ( context , Ġnull ) ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġcontext , Ġattrs , ĊĠĠĠĠĠĠĠ ĠTyped Array Utils . get Attr ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . attr . dialog Preference Style , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . attr . dialog Preference Style ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠ Ġattrs , ĊĠĠĠĠĠĠĠ Ġdef Style Attr , ĊĠĠĠĠĠĠĠĠ 0 ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Suppress Lint (" Re cycle ") ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt , Ġdef Style Res : ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr , Ġdef Style Res ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . obtain Styled Attributes ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Dialog Preference , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef Style Attr , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef Style Res ĊĠĠĠĠĠĠĠ Ġ). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpositive Button Icon Ġ= Ġit . get Drawable ( R . style able . Dialog Preference _ wv _ positive Button Icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnegative Button Icon Ġ= Ġit . get Drawable ( R . style able . Dialog Preference _ wv _ negative Button Icon ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Positive Button Icon (@ Drawable Res Ġicon Res : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpositive Button Icon Ġ= ĠAppCompat Resources . get Drawable ( context , Ġicon Res ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Negative Button Icon (@ Drawable Res Ġicon Res : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnegative Button Icon Ġ= ĠAppCompat Resources . get Drawable ( context , Ġicon Res ) ĊĠĠĠ Ġ} Ċ }