Browse Source

Option menu functions were modified for stable operation.

Trishia 4 năm trước cách đây
mục cha
commit
e2eb4faeba

BIN
app/libs/iotivity-lite.jar


+ 9 - 6
app/src/main/java/org/iotivity/bridge/homeserver/BridgeServerActivity.java

@@ -569,9 +569,10 @@ public class BridgeServerActivity extends AppCompatActivity {
                             @Override
                             public void onClick(DialogInterface dialog, int which) {
 
+                                final String device_name = info.getName();
                                 bridgeServer.deleteVirtualOCFDevice(device.getVODIndex());
                                 Toast.makeText(BridgeServerActivity.this,
-                                        getString(R.string.removeVODOkMessage).replace("?", info.getName())
+                                        getString(R.string.removeVODOkMessage).replace("?", device_name)
                                         , Toast.LENGTH_LONG).show();
                             }
                         });
@@ -634,14 +635,16 @@ public class BridgeServerActivity extends AppCompatActivity {
                 confirmBridgeDialogBuilder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
-                        if(bridgeService != null && bridgeServer != null) {
+                        if(bridgeService != null ) {
                             bridgeService.stopScheduledTaskForLightControl();
-                            bridgeService.unbindLightControlService();
-                            for(VirtualOCFDevice vod : bridgeServer.getVirtualOCFDeviceList()) {
-                                if(vod.getEcoName().equalsIgnoreCase(BridgeService.LightControlServiceConnection.ECO_NAME)) {
-                                    bridgeServer.removeVirtualOCFDevice(vod.getVODIndex());
+                            if(bridgeServer != null && bridgeServer.getVirtualOCFDeviceList() != null) {
+                                for (VirtualOCFDevice vod : bridgeServer.getVirtualOCFDeviceList()) {
+                                    if (vod.getEcoName().equalsIgnoreCase(BridgeService.LightControlServiceConnection.ECO_NAME)) {
+                                        bridgeServer.removeVirtualOCFDevice(vod.getVODIndex());
+                                    }
                                 }
                             }
+                            bridgeService.unbindLightControlService();
                         }
                     }
                 });

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

@@ -304,6 +304,8 @@ public class BridgeService extends IntentService {
     private LightControlServiceConnection lightConn = new LightControlServiceConnection();
     public void bindLightControlService() {
 
+        Log.d(TAG, "SecheduledTaskInit : bindLightControlService() called.");
+
         // Light Control Service Remote Bind
         Intent lIntent = new Intent();
         lIntent.setClassName("org.iotivity.bridge.homeserver", "org.iotivity.bridge.homeserver.BridgeService");
@@ -319,7 +321,7 @@ public class BridgeService extends IntentService {
             try {
                 lightControlBinder.unregisterLightControlServiceCallback(lightCallback);
                 Log.d(TAG, "unregister Light Control Service with Remote Client Callback");
-                unbindService(lightConn);
+                if(lightConn!=null) unbindService(lightConn);
                 Log.d(TAG, "unbind Light Control Service with Remote Connection");
             } catch (RemoteException ex) {
                 Log.e(TAG, "unregister Callback", ex);
@@ -763,6 +765,8 @@ public class BridgeService extends IntentService {
         // Unregister all callbacks.
         rBinder.killCallbacks();
 
+        Toast.makeText(getApplicationContext(), getString(R.string.killBridgeMessage), Toast.LENGTH_LONG).show();
+
         // Bridge Service and Application Process Kill
         // android.os.Process.killProcess(Process.myPid());
         // or below action

BIN
app/src/main/jniLibs/arm64-v8a/libiotivity-lite-jni.so


BIN
app/src/main/jniLibs/armeabi-v7a/libiotivity-lite-jni.so


BIN
app/src/main/jniLibs/x86/libiotivity-lite-jni.so


BIN
app/src/main/jniLibs/x86_64/libiotivity-lite-jni.so