/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠNew ĠVector ĠLtd Ċ Ġ* Ċ Ġ* Ġ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 Ġim . vector . app . features . settings . push Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . air bnb . e po xy . Typed E po xy Controller Ċ import Ġcom . air bnb . mv rx . fragment ViewModel Ċ import Ġcom . air bnb . mv rx . with State Ċ import Ġim . vector . app . R Ċ import Ġim . vector . app . core . extensions . cleanup Ċ import Ġim . vector . app . core . extensions . configure With Ċ import Ġim . vector . app . core . platform . Vector Base Activity Ċ import Ġim . vector . app . core . platform . Vector Base Fragment Ċ import Ġim . vector . app . core . resources . String Provider Ċ import Ġim . vector . app . core . ui . list . generic Footer Item Ċ import Ġkotlinx . android . synt hetic . main . fragment _ generic _ recycler .* Ċ Ċ // ĠRefer enced Ġin Ġvector _ settings _ notifications . xml Ċ class ĠPush Rules Fragment Ġ: ĠVector Base Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Res Id () Ġ= ĠR . layout . fragment _ generic _ recycler ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠPush Rules ViewModel Ġby Ġfragment ViewModel ( Push Rules ViewModel :: class ) ĊĊĠĠĠ Ġprivate Ġval Ġe po xy Controller Ġby Ġlazy Ġ{ ĠPush Rules Controller ( String Provider ( require Context (). resources )) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġ( activity Ġas ? ĠVector Base Activity )?. support ActionBar ?. setTitle ( R . string . settings _ push _ rules ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . configure With ( e po xy Controller , Ġshow Divider Ġ= Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġre cyclerView . cleanup () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinvalidate () Ġ= Ġwith State ( viewModel ) Ġ{ Ġstate Ġ-> ĊĠĠĠĠĠĠĠ Ġe po xy Controller . setData ( state ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠPush Rules Controller ( private Ġval Ġstring Provider : ĠString Provider ) Ġ: ĠTyped E po xy Controller < Push Rules ViewState >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbuild Models ( data : ĠPush Rules ViewState ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . rules . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpush Rule Item Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid ( it . rule Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpush Rule ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgeneric Footer Item Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid (" footer ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext ( string Provider . getString ( R . string . settings _ push _ rules _ no _ rules )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ