88import android .widget .Toast ;
99
1010import org .buildmlearn .toolkit .R ;
11+ import org .buildmlearn .toolkit .ToolkitApplication ;
12+
13+ import java .io .File ;
1114
1215/**
1316 * Created by abhishek on 21/06/15 at 9:51 PM.
@@ -27,7 +30,15 @@ public void onCreate(Bundle savedInstanceState) {
2730 button .setOnPreferenceClickListener (new Preference .OnPreferenceClickListener () {
2831 @ Override
2932 public boolean onPreferenceClick (Preference preference ) {
30- Toast .makeText (SettingsFragment .this .getActivity (), "Deleting temp files" , Toast .LENGTH_SHORT ).show ();
33+
34+ String path = ToolkitApplication .getUnZipDir ();
35+ float size = deleteDirectory (new File (path ), 0 );
36+ size = (float ) ((float ) Math .round ((size / 1048576 ) * 100d ) / 100d );
37+ if (size != 0 ) {
38+ Toast .makeText (SettingsFragment .this .getActivity (), "Deleted " + size + " MB." , Toast .LENGTH_SHORT ).show ();
39+ } else {
40+ Toast .makeText (SettingsFragment .this .getActivity (), "No Temp Files Found!" , Toast .LENGTH_SHORT ).show ();
41+ }
3142 return true ;
3243 }
3344 });
@@ -43,4 +54,22 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
4354 prefUsername .setSummary (preferences .getString (getString (R .string .key_user_name ), "" ));
4455 }
4556
57+ public static float deleteDirectory (File file , float size ) {
58+ if (file .exists ()) {
59+ File [] listFiles = file .listFiles ();
60+ if (listFiles == null ) return 0 ;
61+
62+ for (int i = 0 ; i < listFiles .length ; i ++) {
63+ if (listFiles [i ].isDirectory ()) {
64+ size += deleteDirectory (listFiles [i ], 0 );
65+ } else {
66+ size += listFiles [i ].length ();
67+ listFiles [i ].delete ();
68+ }
69+ }
70+ }
71+ file .delete ();
72+ return (size );
73+ }
74+
4675}
0 commit comments