|
@@ -2,6 +2,7 @@ package org.iotivity.onboardingtool;
|
|
|
|
|
|
import android.app.AlertDialog;
|
|
|
import android.app.Dialog;
|
|
|
+import android.content.Context;
|
|
|
import android.content.DialogInterface;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
@@ -35,6 +36,7 @@ import org.iotivity.oc.OcSecurityAce;
|
|
|
import org.iotivity.oc.OcSubjectSecurityAce;
|
|
|
import org.iotivity.oc.OcUtils;
|
|
|
|
|
|
+import java.io.File;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.concurrent.Executors;
|
|
@@ -234,6 +236,39 @@ public class OnBoardingActivity extends AppCompatActivity {
|
|
|
resetObtDialog.show();
|
|
|
return true;
|
|
|
}
|
|
|
+ case R.id.action_cache_clear : {
|
|
|
+
|
|
|
+ AlertDialog.Builder clearCacheDialogBuilder = new AlertDialog.Builder(OnBoardingActivity.this);
|
|
|
+ clearCacheDialogBuilder.setTitle(getString(R.string.clearCache));
|
|
|
+ clearCacheDialogBuilder.setMessage(getString(R.string.clearCacheMessage));
|
|
|
+
|
|
|
+ clearCacheDialogBuilder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(DialogInterface dialog, int which) {
|
|
|
+
|
|
|
+ // clear Application Cache
|
|
|
+ deleteCacheFiles(OnBoardingActivity.this);
|
|
|
+ Toast.makeText(OnBoardingActivity.this, getString(R.string.clearCacheOkMessage)
|
|
|
+ , Toast.LENGTH_LONG).show();
|
|
|
+
|
|
|
+ // kill Application
|
|
|
+ Log.d(TAG, "System.exit() will be called");
|
|
|
+ System.runFinalizersOnExit(true);
|
|
|
+ System.exit(0);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ clearCacheDialogBuilder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(DialogInterface dialog, int which) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ Dialog clearCacheDialog = clearCacheDialogBuilder.create();
|
|
|
+ clearCacheDialog.show();
|
|
|
+ return true;
|
|
|
+
|
|
|
+ }
|
|
|
case R.id.action_exit :
|
|
|
onBackPressed();
|
|
|
default:
|
|
@@ -1624,4 +1659,29 @@ public class OnBoardingActivity extends AppCompatActivity {
|
|
|
}, 30, 30, TimeUnit.SECONDS); // 30sec interval after 30sec delay
|
|
|
}
|
|
|
|
|
|
+ public static void deleteCacheFiles(Context context) {
|
|
|
+ try {
|
|
|
+ File dir = context.getFilesDir(); // /data/data/{application_path}/files directory
|
|
|
+ deleteDir(dir);
|
|
|
+ } catch (Exception e) {
|
|
|
+ Log.e(TAG, "deleteCache error : "+ e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static boolean deleteDir(File dir) {
|
|
|
+ if (dir != null && dir.isDirectory()) {
|
|
|
+ String[] children = dir.list();
|
|
|
+ for (int i = 0; i < children.length; i++) {
|
|
|
+ boolean success = deleteDir(new File(dir, children[i]));
|
|
|
+ if (!success) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return dir.delete();
|
|
|
+ } else if(dir!= null && dir.isFile()) {
|
|
|
+ return dir.delete();
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|