package Ġcom . android . u amp . ch ill in . fragments Ċ Ċ import Ġandroid . content . Clip Data Ċ import Ġandroid . content . Clipboard Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Context . CLIP BOARD _ SERVICE Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Context Theme Wrapper Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Adapter View Ċ import Ġandroid . widget . ListAdapter Ċ import Ġandroid . widget . PopupMenu Ċ import Ġandroid . widget . Simple Adapter Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . android . u amp . ch ill in . R Ċ import Ġcom . android . u amp . ch ill in . common . Database Handler Ċ import Ġkotlinx . android . synt hetic . main . fragment _ favorites . list View F avorites Ċ import Ġkotlinx . android . synt hetic . main . fragment _ favorites . view . list View F avorites Ċ Ċ class ĠF avorites Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ favorites , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= ĠDatabase Handler ( view . context ) ĊĠĠĠĠĠĠĠ Ġval Ġfavorite List : ĠArrayList < HashMap < String , ĠString >> Ġ= Ġdb . get Music Basic Info () ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter : ĠList Adapter Ġ= ĠSimple Adapter ( view . context , Ġfavorite List , ĠR . layout . list _ row , ĠarrayOf (" name ", Ġ" artist "), Ġint ArrayOf ( R . id . name , ĠR . id . artist )) ĊĠĠĠĠĠĠĠ Ġview . list View F avorites . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġview . list View F avorites . on ItemClickListener Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdapter View . On ItemClickListener Ġ{ Ġ_, Ġadapter View , Ġposition , Ġ_ Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmap Ġ= ĠlistView F avorites . getItem At Position ( position ) Ġas ĠHashMap < *, Ġ*> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Map Ġ= Ġmap [" id "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Map Ġ= Ġmap [" name "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġartist Map Ġ= Ġmap [" artist "] ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwrapper : ĠContext Ġ= ĠContext Theme Wrapper ( view . context , ĠR . style . PopupMenu ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmenu Ġ= ĠPopup Menu ( wrapper , Ġadapter View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ"$ name Map Ġ- Ġ$ artist Map " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmenu . setOn MenuItem ClickListener Ġ{ Ġitem Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . item _ delete Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Helper Ġ= ĠDatabase Handler ( view . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Helper . Un Favorite Music ( id Map Ġas ĠString ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfavorite List Refresh : ĠArrayList < HashMap < String , ĠString >> Ġ= Ġdb . get Music Basic Info () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter 2 : ĠList Adapter Ġ= ĠSimple Adapter ( view . context , Ġfavorite List Refresh , ĠR . layout . list _ row , ĠarrayOf (" name ", Ġ" artist "), Ġint ArrayOf ( R . id . name , ĠR . id . artist )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . list View F avorites . adapter Ġ= Ġadapter 2 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistView F avorites . invalidate Views () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistView F avorites . refresh Drawable State () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( view . context , ĠgetString ( R . string . fav _ remove ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . item _ search Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri : ĠUri Ġ= ĠUri . parse (" http :// www . google . com /# q =$ query ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ VIEW , Ġuri ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . item _ copy Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclipboard : ĠClip board Manager Ġ= Ġactivity ?. getSystem Service ( CLIP BOARD _ SERVICE ) Ġas ĠClip board Manager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclip Ġ= ĠClip Data . new Plain Text (" Ch ill in ' ĠMusic ", Ġquery ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclipboard . primary Clip Ġ= Ġclip ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( view . context , ĠgetString ( R . string . clipboard ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmenu . inflate ( R . menu . favorite _ menu ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmenu . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} Ċ }