package Ġcom . xg imi . file manager . bean Ċ Ċ import Ġcom . xg imi . file manager . enums . File Category Ċ import Ġcom . xg imi . file manager . utils . File Category Util Ċ import Ġcom . xg imi . file manager . utils . File Util Ċ import Ġcom . xg imi . sam ba . Share Item Ċ import Ġcom . xg imi . sam ba . bean . Category Bean Ċ import Ġcom . xg imi . sam ba . bean . Share Disk Ċ import Ġcom . xg imi . sam ba . bean . Share File Ċ import Ġcom . xg imi . sam ba . constants . Http Helper Ċ import Ġcom . xg imi . sam ba . tools . S mb Url Tools Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠĠĠ Ġauthor Ġ: Ġj oker . peng Ċ Ġ* ĠĠĠ Ġe - mail Ġ: Ġj oker . peng @ xg imi . com Ċ Ġ* ĠĠĠ Ġdate ĠĠ Ġ: Ġ 2 0 2 0 / 8 / 1 0 Ġ 1 4 : 3 5 Ċ Ġ* ĠĠĠ Ġdesc ĠĠ Ġ: Ċ Ġ*/ Ċ class ĠBase Data Ġ: ĠCategory Bean Ġ{ ĊĊĠĠĠ Ġvar Ġname : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġpath : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġparent Path : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( field Ġ== Ġnull Ġ&& Ġpath Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( path !!. lastIndexOf ( File . separator ) Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpath !!. substring ( 0 , Ġpath !!. lastIndexOf ( File . separator )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfield ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġroot Path : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæĸĩä»¶ ç±»åŀĭ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġtype Ġ= Ġ- 1 ĊĊĠĠĠ Ġvar Ġsize : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæĸĩä»¶ æł¼å¼ı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġformat : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġdescription : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġartist : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġtitle : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġmodify Time : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġ// Ġ éŁ³ ä¹Ĳ æĸĩä»¶ åľ¨ æķ°æį®åºĵ ä¸ŃçļĦ åħ³éĶ®åŃĹ ĊĠĠĠ Ġvar Ġid : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġ// ĠAlbum Ġart Ġid ĊĠĠĠ Ġvar Ġalbum : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġ// ĠDuration , Ġ åįķä½į : Ġ ç§Ĵ ĊĠĠĠ Ġvar Ġduration : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġvar Ġload Stat Ġ= Ġ 0 ĊĊĠĠĠ Ġvar Ġdoub an Id Ġ= Ġ 0 ĊĊĠĠĠ Ġvar Ġdoub an Url : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġposter Url : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġlast Play Position : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġvar Ġlast Play Time : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġvar Ġname Visible : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ// 1 Ġhis ĠĠ 0 Ġother ĊĠĠĠ Ġvar Ġhis Type Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ 0 ãĢģ æľ¬åľ° æĸĩä»¶ ĊĠĠĠĠ Ġ* Ġ 1 ãĢģ sam ba Ġæĸĩä»¶ ĊĠĠĠĠ Ġ* Ġ 2 ãĢģ Ġd ln a Ġæĸĩä»¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġdata Sources Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĶ¨äºİ æłĩè®° Ġvideo ĠçļĦ ç±»åŀĭ ĊĠĠĠĠ Ġ* Ġ 0 ãĢģ æĴŃæĶ¾ è®°å½ķ ĊĠĠĠĠ Ġ* Ġ 1 ãĢģ æľĢè¿ĳ æ·»åĬł ĊĠĠĠĠ Ġ* Ġ 2 ãĢģ åħ¨éĥ¨ è§Ĩé¢ĳ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġvideo Type Ġ= Ġ- 1 ĊĊĠĠĠ Ġvar Ġlast Modified : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġvar Ġsam ba Row Path : ĠString ? Ġ= Ġnull ĊĊĊĠĠĠ Ġconstructor () ĊĊĠĠĠ Ġvar Ġshare Item : ĠShare Item ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( category : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . category Ġ= Ġcategory ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( rootPath : ĠString ?, Ġfile : ĠFile ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġfile . path ĊĠĠĠĠĠĠĠ Ġcategory Ġ= Ġif Ġ( file . isDirectory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile Category . Folder . ordinal ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile Category Util . getType ByName Or Path ( path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . path Ġ= Ġpath ; ĊĠĠĠĠĠĠĠ Ġthis . name Ġ= Ġfile . name ĊĠĠĠĠĠĠĠ Ġthis . rootPath Ġ= Ġroot Path ; ĊĠĠĠĠĠĠĠ Ġthis . parent Path Ġ= Ġfile . parent ĊĠĠĠĠĠĠĠ Ġlast Modified Ġ= Ġfile . lastModified () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġconstructor ( share Item : ĠShare Item ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . share Item Ġ= Ġshare Item ĊĠĠĠĠĠĠĠ Ġsam ba Row Path Ġ= Ġshare Item . smb Path ĊĠĠĠĠĠĠĠ Ġval Ġpath : ĠString Ġ= ĠS mb Url Tools . convertTo Http Url ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshare Item . smb Path , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Helper . DEFAULT _ IP , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Helper . DEFAULT _ SERVER _ PORT ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ( share Item . isDirectory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Ġ= ĠFile Category . Folder . ordinal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġ"-" ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= ĠFile Util . format FileSize (( share Item Ġas ĠShare File ). getFile Size ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġ"-" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Ġ= ĠFile Category Util . getType ByName Or Path ( path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdata Sources Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġmodify Time Ġ= Ġshare Item . change Time ĊĠĠĠĠĠĠĠ Ġthis . path Ġ= Ġpath ĊĠĠĠĠĠĠĠ Ġthis . name Ġ= Ġshare Item . name ĊĠĠĠĠĠĠĠ Ġlast Modified Ġ= Ġif Ġ( share Item Ġis ĠShare Disk ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshare Item . last Access Time ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġvar Ġis Title Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ(" Base Data Ġ[ name =" Ġ+ Ġname Ġ+ Ġ", Ġm Path Text =" Ġ+ Ġpath Ġ+ Ġ", Ġparent Path =" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġparent Path Ġ+ Ġ", Ġroot Path =" Ġ+ Ġroot Path Ġ+ Ġ", Ġtype =" Ġ+ Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ", Ġsize =" Ġ+ Ġsize Ġ+ Ġ", Ġformat =" Ġ+ Ġformat Ġ+ Ġ", Ġdescription =" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġdescription Ġ+ Ġ", Ġartist =" Ġ+ Ġartist Ġ+ Ġ", Ġtitle =" Ġ+ Ġtitle ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ", Ġmodify Time =" Ġ+ Ġmodify Time Ġ+ Ġ", Ġid =" Ġ+ Ġid Ġ+ Ġ", Ġalbum =" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġalbum Ġ+ Ġ", Ġduration =" Ġ+ Ġduration ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ", Ġload Stat =" Ġ+ Ġload Stat Ġ+ Ġ", Ġdoub an Id =" Ġ+ Ġdoub an Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ", Ġdoub an Url =" Ġ+ Ġdoub an Url Ġ+ Ġ", Ġposter Url =" Ġ+ Ġposter Url ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ", Ġlast Play Position =" Ġ+ Ġlast Play Position Ġ+ Ġ", Ġlast Play Time =" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġlast Play Time Ġ+ Ġ", Ġname Vis ble =" Ġ+ Ġname Visible Ġ+ Ġ", Ġcategory =" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġcategory Ġ+ Ġ", Ġis Title =" Ġ+ Ġis Title Ġ+ Ġ"] ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( o : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġo ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( o Ġ== Ġnull Ġ|| ĠBase Data :: class Ġ!== Ġo . java Class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġbase Data Ġ= Ġo Ġas ĠBase Data ĊĠĠĠĠĠĠĠ Ġif Ġ( video Type Ġ!= Ġbase Data . video Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( path Ġ!= Ġnull ) Ġpath Ġ== Ġbase Data . path Ġelse Ġbase Data . path Ġ== Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġif Ġ( path Ġ!= Ġnull ) Ġpath !!. hashCode () Ġelse Ġ 0 ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġvideo Type ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclone (): ĠBase Data ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbase Data Ġ= ĠBase Data () ĊĠĠĠĠĠĠĠ Ġbase Data . category Ġ= Ġcategory ĊĠĠĠĠĠĠĠ Ġbase Data . name Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġbase Data . path Ġ= Ġpath ĊĠĠĠĠĠĠĠ Ġbase Data . parent Path Ġ= Ġparent Path ĊĠĠĠĠĠĠĠ Ġbase Data . rootPath Ġ= Ġroot Path ĊĠĠĠĠĠĠĠ Ġbase Data . type Ġ= Ġtype ĊĠĠĠĠĠĠĠ Ġbase Data . size Ġ= Ġsize ĊĠĠĠĠĠĠĠ Ġbase Data . format Ġ= Ġformat ĊĠĠĠĠĠĠĠ Ġbase Data . description Ġ= Ġdescription ĊĠĠĠĠĠĠĠ Ġbase Data . artist Ġ= Ġartist ĊĠĠĠĠĠĠĠ Ġbase Data . title Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġbase Data . modify Time Ġ= Ġmodify Time ĊĠĠĠĠĠĠĠ Ġbase Data . id Ġ= Ġid ĊĠĠĠĠĠĠĠ Ġbase Data . album Ġ= Ġalbum ĊĠĠĠĠĠĠĠ Ġbase Data . duration Ġ= Ġduration ĊĠĠĠĠĠĠĠ Ġbase Data . load Stat Ġ= Ġload Stat ĊĠĠĠĠĠĠĠ Ġbase Data . doub an Id Ġ= Ġdoub an Id ĊĠĠĠĠĠĠĠ Ġbase Data . doub an Url Ġ= Ġdoub an Url ĊĠĠĠĠĠĠĠ Ġbase Data . poster Url Ġ= Ġposter Url ĊĠĠĠĠĠĠĠ Ġbase Data . last Play Position Ġ= Ġlast Play Position ĊĠĠĠĠĠĠĠ Ġbase Data . last Play Time Ġ= Ġlast Play Time ĊĠĠĠĠĠĠĠ Ġbase Data . name Visible Ġ= Ġname Visible ĊĠĠĠĠĠĠĠ Ġbase Data . his Type Ġ= Ġhis Type ĊĠĠĠĠĠĠĠ Ġbase Data . data Sources Ġ= Ġdata Sources ĊĠĠĠĠĠĠĠ Ġbase Data . video Type Ġ= Ġvideo Type ĊĠĠĠĠĠĠĠ Ġbase Data . lastModified Ġ= Ġlast Modified ĊĠĠĠĠĠĠĠ Ġreturn Ġbase Data ĊĠĠĠ Ġ} Ċ }