@@ -209,23 +209,31 @@ public void run() {
209
209
public void getProperties (List <FileItem > selectedItems ) {
210
210
211
211
StringBuilder msg = new StringBuilder ();
212
- if (selectedItems .size ()==1 ) {
213
- boolean isDirectory = (selectedItems .get (0 ).getFile ().isDirectory ());
214
- String type = isDirectory ?"Directory" :"File" ;
215
- String size = FileUtils .byteCountToDisplaySize (isDirectory ?FileUtils .sizeOfDirectory (selectedItems .get (0 ).getFile ()):FileUtils .sizeOf (selectedItems .get (0 ).getFile ()));
216
- String lastModified = new SimpleDateFormat (Constants .DATE_FORMAT ).format (selectedItems .get (0 ).getFile ().lastModified ());
217
- msg .append ("Type : " + type + "\n \n " );
218
- msg .append ("Size : " + size + "\n \n " );
219
- msg .append ("Last Modified : " + lastModified + "\n \n " );
220
- msg .append ("Path : " +selectedItems .get (0 ).getFile ().getAbsolutePath ());
221
- } else {
222
- long totalSize = 0 ;
223
- for (int i =0 ;i <selectedItems .size ();i ++) {
224
- boolean isDirectory = (selectedItems .get (i ).getFile ().isDirectory ());
225
- totalSize += isDirectory ?FileUtils .sizeOfDirectory (selectedItems .get (i ).getFile ()):FileUtils .sizeOf (selectedItems .get (i ).getFile ());
212
+ try {
213
+ if (selectedItems .size ()==1 ) {
214
+ boolean isDirectory = false ;
215
+ File f = selectedItems .get (0 ).getFile ().getCanonicalFile ();
216
+ isDirectory = (f .isDirectory ());
217
+ String type = isDirectory ?"Directory" :"File" ;
218
+ String size = FileUtils .byteCountToDisplaySize (isDirectory ?FileUtils .sizeOfDirectory (f ):FileUtils .sizeOf (f ));
219
+ String lastModified = new SimpleDateFormat (Constants .DATE_FORMAT ).format (selectedItems .get (0 ).getFile ().lastModified ());
220
+ msg .append ("Type : " + type + "\n \n " );
221
+ msg .append ("Size : " + size + "\n \n " );
222
+ msg .append ("Last Modified : " + lastModified + "\n \n " );
223
+ msg .append ("Path : " +selectedItems .get (0 ).getFile ().getAbsolutePath ());
224
+ } else {
225
+ long totalSize = 0 ;
226
+ for (int i =0 ;i <selectedItems .size ();i ++) {
227
+ File f = selectedItems .get (0 ).getFile ().getCanonicalFile ();
228
+ boolean isDirectory = (f .isDirectory ());
229
+ totalSize += isDirectory ?FileUtils .sizeOfDirectory (f ):FileUtils .sizeOf (f );
230
+ }
231
+ msg .append ("Type : " + "Multiple Files" + "\n \n " );
232
+ msg .append ("Size : " + FileUtils .byteCountToDisplaySize (totalSize ) + "\n \n " );
226
233
}
227
- msg .append ("Type : " + "Multiple Files" + "\n \n " );
228
- msg .append ("Size : " + FileUtils .byteCountToDisplaySize (totalSize ) + "\n \n " );
234
+ } catch (Exception e ) {
235
+ e .printStackTrace ();
236
+ msg .append ("Could Not Compute Properties" );
229
237
}
230
238
UIUtils .ShowMsg (msg .toString (),"Properties" ,mContext );
231
239
}
0 commit comments