Bläddra i källkod

Application name was changed to 'OCF Wallpad Bridge' and clear Application Cache was added to Option menu.

Trishia 4 år sedan
förälder
incheckning
2bd85adcc0

+ 1 - 1
app/src/main/java/org/iotivity/bridge/homeserver/BridgeServer.java

@@ -71,7 +71,7 @@ public class BridgeServer {
 
     public BridgeServer(BridgeService service) {
         this.service = service;
-        this.bridge = new Bridge("Energy Home Hub");
+        this.bridge = new Bridge("OCF Wallpad Bridge");
 
         // Note: If using a factory presets handler,
         // the factory presets handler must be set prior to calling systemInit().

+ 37 - 0
app/src/main/java/org/iotivity/bridge/homeserver/BridgeServerActivity.java

@@ -94,11 +94,13 @@ public class BridgeServerActivity extends AppCompatActivity {
     }
 
     private int incremental_vod_index = 0 ;
+    private Context thisActivity = null ;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
+        thisActivity = this ;
 
         createContent();
 
@@ -772,6 +774,41 @@ public class BridgeServerActivity extends AppCompatActivity {
                 killServiceDialog.show();
                 return true;
 
+            }
+            case R.id.action_cache_clear : {
+
+                AlertDialog.Builder clearCacheDialogBuilder = new AlertDialog.Builder(BridgeServerActivity.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
+                        Utils.deleteCacheFiles(thisActivity);
+                        Toast.makeText(BridgeServerActivity.this, getString(R.string.clearCacheOkMessage)
+                                , Toast.LENGTH_LONG).show();
+
+                        // kill Bridge Service
+                        stopBridgeService();
+
+                        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();

+ 26 - 0
app/src/main/java/org/iotivity/bridge/homeserver/utils/Utils.java

@@ -17,6 +17,7 @@ import org.iotivity.oc.OcResource;
 import org.iotivity.oc.OcUtils;
 
 import java.io.ByteArrayOutputStream;
+import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
@@ -394,4 +395,29 @@ public class Utils {
         }
         return null;
     }
+
+    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;
+        }
+    }
 }

+ 48 - 44
app/src/main/res/menu/actionbar_actions.xml

@@ -7,59 +7,63 @@
         android:title="@string/resetBridge"
         app:showAsAction="never"/>
 
+    <item
+        android:id="@+id/action_vods_reset"
+        android:title="@string/resetVODs"
+        app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_vod_reset"
+        android:title="@string/resetVOD"
+        app:showAsAction="never"/>
 
-        <item
-            android:id="@+id/action_vods_reset"
-            android:title="@string/resetVODs"
-            app:showAsAction="never"/>
-        <item
-            android:id="@+id/action_vod_reset"
-            android:title="@string/resetVOD"
-            app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_add_vos"
+        android:title="@string/addVOS"
+        app:showAsAction="never"/>
 
-        <item
-            android:id="@+id/action_add_vos"
-            android:title="@string/addVOS"
-            app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_inc_vos"
+        android:title="@string/incVOS"
+        app:showAsAction="never"/>
 
-        <item
-            android:id="@+id/action_inc_vos"
-            android:title="@string/incVOS"
-            app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_add_voc"
+        android:title="@string/addVOC"
+        app:showAsAction="never"/>
 
-        <item
-            android:id="@+id/action_add_voc"
-            android:title="@string/addVOC"
-            app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_vods_remove"
+        android:title="@string/removeVODs"
+        app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_vod_remove"
+        android:title="@string/removeVOD"
+        app:showAsAction="never"/>
 
-        <item
-            android:id="@+id/action_vods_remove"
-            android:title="@string/removeVODs"
-            app:showAsAction="never"/>
-        <item
-            android:id="@+id/action_vod_remove"
-            android:title="@string/removeVOD"
-            app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_start_bridged_client"
+        android:title="@string/startBridgedClient"
+        app:showAsAction="never"/>
 
-        <item
-            android:id="@+id/action_start_bridged_client"
-            android:title="@string/startBridgedClient"
-            app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_stop_bridged_client"
+        android:title="@string/stopBridgedClient"
+        app:showAsAction="never"/>
 
-        <item
-            android:id="@+id/action_stop_bridged_client"
-            android:title="@string/stopBridgedClient"
-            app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_bridgeservice_stop"
+        android:title="@string/stopBridgeService"
+        app:showAsAction="never"/>
 
-        <item
-            android:id="@+id/action_bridgeservice_stop"
-            android:title="@string/stopBridgeService"
-            app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_bridgeservice_kill"
+        android:title="@string/killBridgeService"
+        app:showAsAction="never"/>
 
-        <item
-            android:id="@+id/action_bridgeservice_kill"
-            android:title="@string/killBridgeService"
-            app:showAsAction="never"/>
+    <item
+        android:id="@+id/action_cache_clear"
+        android:title="@string/clearCache"
+        app:showAsAction="never"/>
     <!--
                 <item
                     android:id="@+id/action_settings"

+ 6 - 2
app/src/main/res/values/strings.xml

@@ -1,6 +1,6 @@
 <resources>
-    <string name="app_name">Energy Hub Bridge</string>
-    <!--<string name="app_name">OCF Client</string>-->
+    <string name="app_name">OCF Wallpad Bridge</string>
+    <!--<string name="app_name">Energy Hub Bridge, OCF Client</string>-->
 
     <!-- Client Strings -->
     <string name="discoverDevices">Discover Devices</string>
@@ -61,4 +61,8 @@
     <string name="killBridgeService">Kill Bridge Service</string>
     <string name="killBridgeMessage">Note: Bridge Service and Activity will be killed completely.</string>
 
+    <string name="clearCache">Clear Application Cache</string>
+    <string name="clearCacheMessage">Note: Application cache files will be clear and app will be killed. You should restart this application.</string>
+    <string name="clearCacheOkMessage">Application cache was clear successfully.</string>
+
 </resources>