package Ġcom . xg imi . file manager . utils Ċ Ċ import Ġcom . blank j . util code . util . Utils Ċ import Ġcom . xg imi . file manager . R Ċ import Ġjava . io . File Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠĠĠ Ġauthor Ġ: Ġj oker . peng Ċ Ġ* ĠĠĠ Ġe - mail Ġ: Ġj oker . peng @ xg imi . com Ċ Ġ* ĠĠĠ Ġdate ĠĠ Ġ: Ġ 2 0 2 0 / 8 / 2 0 Ġ 9 : 3 9 Ċ Ġ* ĠĠĠ Ġdesc ĠĠ Ġ: Ċ Ġ*/ Ċ object ĠISO Tool Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTag Ġ= Ġ"/ mnt / iso " ĊĊĠĠĠ Ġfun Ġis IS OF older File ( str Path Name : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġstr Path Name Ġ= Ġstr Path Name ĊĠĠĠĠĠĠĠ Ġif Ġ( str Path Name . length Ġ< ĠTag . length ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ// Ġ 1 . æĬĬ è·¯å¾Ħ è½¬ ä¸º å°ı åĨĻ ĊĠĠĠĠĠĠĠ Ġstr Path Name Ġ= Ġstr Path Name . toLowerCase () ĊĠĠĠĠĠĠĠ Ġ// Ġ 2 . æ¯Ķè¾ĥ è¿Ļä¸ª è·¯å¾Ħ æĺ¯åĲ¦ ä¸º iso ä¸ĭçļĦ è·¯å¾Ħ ĊĠĠĠĠĠĠĠ Ġval Ġstr Ġ= Ġstr Path Name . substring ( 0 , ĠTag . length Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġstr . contains ( Tag ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget IS OR oot Dir (): ĠArrayList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġl isFile Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġval Ġdir Ġ= ĠFile ( Tag ) ĊĠĠĠĠĠĠĠ Ġval Ġlist Files Ġ= Ġdir . list Files () ĊĠĠĠĠĠĠĠ Ġfor Ġ( current File Ġin Ġlist Files ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current File . isFile ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġl isFile . add ( current File . path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġl isFile ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget FileList ( select FilePath : ĠString ): ĠArrayList < String >? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile List Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġval Ġselect File Ġ= ĠFile ( select FilePath ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! select File . exists ()) Ġreturn Ġfile List ĊĠĠĠĠĠĠĠ Ġif Ġ( select FilePath . length Ġ<= ĠTag . length ) Ġreturn Ġfile List ĊĠĠĠĠĠĠĠ Ġ// Ġ 1 . è§£æŀĲ åĩº è·¯å¾Ħ ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġselect File . parent ĊĠĠĠĠĠĠĠ Ġ// Ġ 2 . åĪĹ ä¸¾ è·¯å¾Ħ ä¸ĭ æīĢæľī çļĦæĸĩä»¶ ï¼Į éľĢè¦ģ è¿ĩæ»¤ ä¸į æĶ¯æĮģ çļĦ ĊĠĠĠĠĠĠĠ Ġ// Ġ 3 . æİĴåºı ĊĠĠĠĠĠĠĠ Ġval Ġmy List Ġ= Ġscan ( path ) ĊĠĠĠĠĠĠĠ Ġ// Ġ 4 . è¿ĩæ»¤ åĩº è¢« éĢī æĸĩä»¶ åĲİ éĿ¢çļĦ æĸĩä»¶ ĊĠĠĠĠĠĠĠ Ġvar Ġremove Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġmy List . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstr Ġ= Ġmy List [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( select FilePath Ġ== Ġstr ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Ġ= Ġi ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( remove Ġ< Ġ 0 ) Ġreturn Ġmy List ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġremove Ġuntil Ġmy List . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile List . add ( my List [ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfile List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġscan ( file Dir : ĠString ): ĠArrayList < String > Ġ{ Ġ// Ġ çİ°åľ¨ åıª è¿ĩæ»¤ è§Ĩé¢ĳ ĊĠĠĠĠĠĠĠ Ġval ĠVideo Extensions Ġ= ĠUtils . getApp (). resources . getString Array ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . array . video _ filter ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġl isFile Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġval Ġdir Ġ= ĠFile ( file Dir ) ĊĠĠĠĠĠĠĠ Ġval Ġlist Files Ġ= Ġdir . list Files () ĊĠĠĠĠĠĠĠ Ġfor Ġ( current File Ġin Ġlist Files ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current File . isFile ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠfileName Ġ= Ġcurrent File . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ è¿ĩæ»¤ æł¼å¼ı ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( check Extension ( fileName , ĠVideo Extensions )) Ġl isFile . add ( current File . path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġ æİĴåºı . ĊĠĠĠĠĠĠĠ Ġif Ġ( lis File . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCollections . sort ( lis File ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġl isFile ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠĠ Ġ* ĠéĢļè¿ĩ æĸĩä»¶ åĲį åĪ¤æĸŃ æĺ¯ ä»Ģä¹Ī ç±»åŀĭ çļĦæĸĩä»¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġcheck Extension ( ĊĠĠĠĠĠĠĠ Ġchecked : ĠString , ĊĠĠĠĠĠĠĠ Ġextensions : ĠArray < String > ĊĠĠĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( end Ġin Ġextensions ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked . toLowerCase (). endsWith ( end )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ