package Ġc ree pers an . vide op layer . Helper Ċ Ċ import Ġandroid . content . Content Resolver Ċ import Ġandroid . provider . Media Store Ċ import Ġandroid . util . Log Ċ import Ġc ree pers an . vide op layer . Bean . Folder Bean Ċ import Ġc ree pers an . vide op layer . Bean . Video Bean Ċ import Ġjava . lang . Exception Ċ Ċ class ĠContent Resolver Helper ( private Ġval Ġcontent Resolver : ĠContent Resolver ){ ĊĠĠĠ Ġprivate Ġvar Ġfolder Map Ġ= ĠHashMap < String , Folder Bean >() ĊĊĠĠĠ Ġfun Ġinit Data (){ ĊĠĠĠĠĠĠĠ Ġval Ġfolder Name Set Ġ= ĠHashSet < String >() ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġcontent Resolver . query ( Media Store . Video . Media . EXTERNAL _ CONTENT _ URI , null , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , null , null ) ĊĠĠĠĠĠĠĠ Ġwhile Ġ( cursor . moveTo Next ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Video Bean Ġ= ĠVideo Bean ( cursor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( folder Name Set . contains ( temp Video Bean . folder Name )){ // æĸĩä»¶å¤¹ å·² åŃĺåľ¨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfolder Bean Ġ= Ġfolder Map . get ( temp Video Bean . folder Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( folder Bean == null ) Ġthrow ĠException (" åĪĿå§ĭåĮĸ åĤ¨ åŃĺ æķ°æį®çļĦ è§Ĩé¢ĳ æĸĩä»¶å¤¹ ä¸ºç©º ï¼ģ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfolder Bean . video List . add ( 0 , temp Video Bean ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { // å¦Ĥæŀľ æĸĩä»¶å¤¹ ä¸įåŃĺåľ¨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfolder Name Set . add ( temp Video Bean . folder Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfolder Bean Ġ= ĠFolder Bean ( temp Video Bean . folder Name ," ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfolder Bean . video List . add ( temp Video Bean ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfolder Map . put ( temp Video Bean . folder Name , folder Bean ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcursor . close () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprotected Ġfun Ġlog ( content : String ) Ġ= ĠLog . i (" Helper ", content ) ĊĊĠĠĠ Ġfun Ġget Folders Info (): HashMap < String , Folder Bean > Ġ= Ġfolder Map ĊĠĠĠ Ġfun Ġget Folder Info ( folder Path : String ): ĠFolder Bean ? Ġ= Ġfolder Map . get ( folder Path ) Ċ Ċ }