فهرست منبع

Fixed release of connection between FileActivity and OperationService

David A. Velasco 11 سال پیش
والد
کامیت
cae7744ae1

+ 1 - 3
src/com/owncloud/android/operations/CreateShareOperation.java

@@ -92,12 +92,10 @@ public class CreateShareOperation extends SyncOperation {
                 OCShare share = (OCShare) result.getData().get(0);
 
                 // Update DB with the response
+                share.setPath(mPath);
                 if (mPath.endsWith(FileUtils.PATH_SEPARATOR)) {
-                    share.setPath(mPath.substring(0, mPath.length()-1));
                     share.setIsFolder(true);
-                    
                 } else {
-                    share.setPath(mPath);
                     share.setIsFolder(false);
                 }
                 share.setPermissions(mPermissions);

+ 2 - 2
src/com/owncloud/android/services/OperationsService.java

@@ -141,7 +141,7 @@ public class OperationsService extends Service {
             }
             
             mPendingOperations.add(new Pair<Target , RemoteOperation>(target, operation));
-            sendBroadcastNewOperation(target, operation);
+            //sendBroadcastNewOperation(target, operation);
             
             Message msg = mServiceHandler.obtainMessage();
             msg.arg1 = startId;
@@ -324,7 +324,7 @@ public class OperationsService extends Service {
                 }
             }
             
-            sendBroadcastOperationFinished(mLastTarget, mCurrentOperation, result);
+            //sendBroadcastOperationFinished(mLastTarget, mCurrentOperation, result);
             callbackOperationListeners(mLastTarget, mCurrentOperation, result);
         }
     }

+ 6 - 5
src/com/owncloud/android/ui/activity/FileActivity.java

@@ -160,18 +160,19 @@ public class FileActivity extends SherlockFragmentActivity implements OnRemoteOp
     @Override 
     protected void onStop() {
         super.onStop();
-        if (mOperationsServiceBinder != null) {
-            mOperationsServiceBinder.removeOperationListener(this);
-            mOperationsServiceBinder = null;
-        }
     }
     
     
     @Override
     protected void onDestroy() {
         super.onDestroy();
-        if (mOperationsServiceConnection != null)
+        if (mOperationsServiceConnection != null) {
+            if (mOperationsServiceBinder != null) {
+                mOperationsServiceBinder.removeOperationListener(this);
+                mOperationsServiceBinder = null;
+            }
             unbindService(mOperationsServiceConnection);
+        }
     }