package Ġcom . mm m . my pup u . ui . fragment Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . mm m . my pup u . R Ċ import Ġcom . mm m . my pup u . ui . adapter . Quick History Adapter Ċ import Ġcom . mm m . my pup u . ui . bean . Search History Bean Ċ import Ġcom . mm m . my pup u . ui . widgets . Horizontal Item Decoration Ċ import Ġcom . mm m . my pup u . ui . widgets . My LayoutManager Ċ import Ġcom . mm m . my pup u . util . My History Util Ċ import Ġcom . mm m . my pup u . util . My Util Ċ import Ġkotlinx . android . synt hetic . main . activity _ search .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ search _ history .* Ċ import Ġorg . lite pal . Lite Pal Ċ import Ġorg . lite pal . extension . delete All Ċ import Ġorg . lite pal . extension . findAll Ċ Ċ class ĠSearch History Frag me mt Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġhistory List Ġ: ArrayList < Search History Bean > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmy LayoutManager : ĠMy LayoutManager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġhistory Adapter : ĠQuick History Adapter ĊĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . J EL LY _ BE AN ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ search _ history , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . J EL LY _ BE AN ) ĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit View ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠ Ġ* ä¼ĺåĮĸ ä¸º Ġrv Ġ æĺ¾ç¤º åİĨåı² è®°å½ķ Ġä½¿çĶ¨ èĩªåĬ¨ æį¢ è¡Į Ġ@ param ĠMy LayoutManager ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġhistory List Ġ= Ġget Bean List () ĊĠĠĠĠĠĠĠ Ġhistory Adapter Ġ= ĠQuick History Adapter ( R . layout . item _ history Ġ, history List ) ĊĠĠĠĠĠĠĠ Ġmy LayoutManager Ġ= ĠMy LayoutManager () ĊĠĠĠĠĠĠĠ Ġmy LayoutManager . is Auto Measure Enabled Ġ= Ġtrue Ġ// éĿŀå¸¸ éĩįè¦ģ ĊĠĠĠĠĠĠĠ Ġ// my LayoutManager . orientation Ġ= ĠGrid LayoutManager . VERTICAL ĊĠĠĠĠĠĠĠ Ġ// æ·»åĬł æ°´ å¹³ éĹ´ è·Ŀ ĊĠĠĠĠĠĠĠ Ġrv History . addItem Decoration ( Horizontal Item Decoration ( 2 0 Ġ, Ġcontext !! )) ĊĠĠĠĠĠĠĠ Ġrv History . layout Manager Ġ= Ġmy LayoutManager ĊĠĠĠĠĠĠĠ Ġrv History . adapter Ġ= Ġhistory Adapter ĊĊĠĠĠĠĠĠĠ Ġ// Ġadd History ( history List ) ĊĊĠĠĠĠĠĠĠ Ġhistory Adapter . setOn ItemClickListener Ġ{ Ġ_, _, Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity !!. et Search . setText ( history List [ position ]. title Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ çĽ´æİ¥ è¿Ľè¡Į æĲľç´¢ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Search () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMy History Util . add History ( activity !!. et Search ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMy Util . hide Key for ard ( activity !!. et Search , Ġactivity !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( history List . isEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Clean . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv No History . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} else Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Clean . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv No History . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// æ¸ħ ç©º åİĨåı² è®°å½ķ ĊĠĠĠĠĠĠĠ Ġiv Clean . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage (" ç¡®è®¤ åĪłéĻ¤ åħ¨éĥ¨ æĲľç´¢ åİĨåı² ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button (" ç¡®å®ļ ") Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv Clean . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv No History . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhistory List . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLite Pal . delete All < Search History Bean >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhistory Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Neutral Button (" åıĸæ¶Ī ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// å¼Ģå§ĭ Ġæ Ĳ ľç´¢ Ġ æĺ¾ç¤º ç»ĵæŀľ é¡µ ĊĠĠĠ Ġprivate Ġfun Ġto Search () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġactivity !!. support FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠ Ġmanager . replace ( R . id . ll Container , ĠSearch Result Fragment ()) ĊĠĠĠĠĠĠĠ Ġmanager . commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Bean List (): ĠArrayList < Search History Bean > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbean List Ġ= ĠArrayList < Search History Bean >() ĊĠĠĠĠĠĠĠ Ġval Ġm List : ĠList < Search History Bean > Ġ= ĠLite Pal . findAll < Search History Bean >() ĊĠĠĠĠĠĠĠ Ġ// çĶ¨ Ġ æłĪ çļĦæķ°æį® ç»ĵæŀĦ Ġ åĲİ è¿Ľ åħĪ åĩº ĊĠĠĠĠĠĠĠ Ġvar Ġrange = Ġm List . indices ĊĠĠĠĠĠĠĠ Ġfor Ġ( Ġi Ġin Ġrange . reversed ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbean List . add ( m List [ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbean List ĊĠĠĠ Ġ} Ċ Ċ }