|
1 | 1 | package org.buildmlearn.toolkit.fragment; |
2 | 2 |
|
3 | 3 | import android.app.Activity; |
| 4 | +import android.app.ProgressDialog; |
4 | 5 | import android.content.Intent; |
5 | 6 | import android.content.SharedPreferences; |
6 | 7 | import android.net.Uri; |
| 8 | +import android.os.AsyncTask; |
7 | 9 | import android.os.Bundle; |
8 | 10 | import android.preference.Preference; |
9 | 11 | import android.preference.PreferenceFragment; |
@@ -59,13 +61,8 @@ public void onCreate(Bundle savedInstanceState) { |
59 | 61 | public boolean onPreferenceClick(Preference preference) { |
60 | 62 |
|
61 | 63 | String path = ToolkitApplication.getUnZipDir(); |
62 | | - float size = deleteDirectory(new File(path), 0); |
63 | | - size = (float) ((float) Math.round((size / 1048576) * 100d) / 100d); |
64 | | - if (size != 0) { |
65 | | - Toast.makeText(SettingsFragment.this.getActivity(), "Deleted " + size + " MB.", Toast.LENGTH_SHORT).show(); |
66 | | - } else { |
67 | | - Toast.makeText(SettingsFragment.this.getActivity(), "No Temp Files Found!", Toast.LENGTH_SHORT).show(); |
68 | | - } |
| 64 | + AsyncTaskRunner asynctaskrunner = new AsyncTaskRunner(); |
| 65 | + asynctaskrunner.execute(path); |
69 | 66 | return true; |
70 | 67 | } |
71 | 68 | }); |
@@ -171,4 +168,34 @@ public void onFail(Exception e) { |
171 | 168 | } |
172 | 169 |
|
173 | 170 | } |
| 171 | + private class AsyncTaskRunner extends AsyncTask<String,Void,Float> { |
| 172 | + private ProgressDialog progressDialog; |
| 173 | + |
| 174 | + @Override |
| 175 | + protected void onPreExecute() { |
| 176 | + progressDialog=new ProgressDialog(getActivity()); |
| 177 | + progressDialog.setTitle("Deleting..."); |
| 178 | + progressDialog.setMessage("Deleting Temporary file"); |
| 179 | + progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); |
| 180 | + progressDialog.setCancelable(false); |
| 181 | + progressDialog.show(); |
| 182 | + } |
| 183 | + |
| 184 | + @Override |
| 185 | + protected Float doInBackground(String... params) { |
| 186 | + float size = deleteDirectory(new File(params[0]), 0); |
| 187 | + size = (float) ((float) Math.round((size / 1048576) * 100d) / 100d); |
| 188 | + return size; |
| 189 | + } |
| 190 | + |
| 191 | + @Override |
| 192 | + protected void onPostExecute(Float size) { |
| 193 | + progressDialog.dismiss(); |
| 194 | + if (size != 0) { |
| 195 | + Toast.makeText(getActivity(), "Deleted " + size + " MB.", Toast.LENGTH_SHORT).show(); |
| 196 | + } else { |
| 197 | + Toast.makeText(getActivity(), "No Temp Files Found!", Toast.LENGTH_SHORT).show(); |
| 198 | + } |
| 199 | + } |
| 200 | + } |
174 | 201 | } |
0 commit comments