Merge remote-tracking branch 'origin/master' into cancel_in_upload
authorDavid A. Velasco <dvelasco@solidgear.es>
Thu, 11 Oct 2012 09:40:15 +0000 (11:40 +0200)
committerDavid A. Velasco <dvelasco@solidgear.es>
Thu, 11 Oct 2012 09:40:15 +0000 (11:40 +0200)
Conflicts:
src/com/owncloud/android/ui/activity/FileDisplayActivity.java

1  2 
src/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@@ -69,7 -69,6 +69,7 @@@ import com.owncloud.android.datamodel.O
  import com.owncloud.android.files.services.FileDownloader;\r
  import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;\r
  import com.owncloud.android.files.services.FileUploader;\r
 +import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;\r
  import com.owncloud.android.network.OwnCloudClientUtils;\r
  import com.owncloud.android.syncadapter.FileSyncService;\r
  import com.owncloud.android.ui.fragment.FileDetailFragment;\r
@@@ -97,8 -96,6 +97,8 @@@ public class FileDisplayActivity extend
      private UploadFinishReceiver mUploadFinishReceiver;\r
      private DownloadFinishReceiver mDownloadFinishReceiver;\r
      private FileDownloaderBinder mDownloaderBinder = null;\r
 +    private FileUploaderBinder mUploaderBinder = null;\r
 +    private ServiceConnection mDownloadConnection = null, mUploadConnection = null;\r
      \r
      private OCFileListFragment mFileList;\r
      \r
              \r
          }\r
          \r
 -        bindService(new Intent(this, FileDownloader.class), mConnection, Context.BIND_AUTO_CREATE);\r
 +        mUploadConnection = new ListServiceConnection(); \r
 +        mDownloadConnection = new ListServiceConnection();\r
 +        bindService(new Intent(this, FileUploader.class), mUploadConnection, Context.BIND_AUTO_CREATE);\r
 +        bindService(new Intent(this, FileDownloader.class), mDownloadConnection, Context.BIND_AUTO_CREATE);\r
  \r
          // PIN CODE request ;  best location is to decide, let's try this first\r
          if (getIntent().getAction() != null && getIntent().getAction().equals(Intent.ACTION_MAIN) && savedInstanceState == null) {\r
      @Override\r
      public void onDestroy() {\r
          super.onDestroy();\r
 -        unbindService(mConnection);\r
 +        if (mDownloadConnection != null)\r
 +            unbindService(mDownloadConnection);\r
 +        if (mUploadConnection != null)\r
 +            unbindService(mUploadConnection);\r
      }\r
  \r
      \r
      public FileDownloaderBinder getFileDownloaderBinder() {\r
          return mDownloaderBinder;\r
      }\r
 +\r
 +    \r
 +    /**\r
 +     * {@inheritDoc}\r
 +     */\r
 +    @Override\r
 +    public FileUploaderBinder getFileUploaderBinder() {\r
 +        return mUploaderBinder;\r
 +    }\r
      \r
      \r
      /** Defines callbacks for service binding, passed to bindService() */\r
 -    private ServiceConnection mConnection = new ServiceConnection() {\r
 +    private class ListServiceConnection implements ServiceConnection {\r
  \r
          @Override\r
 -        public void onServiceConnected(ComponentName className, IBinder service) {\r
 -            mDownloaderBinder = (FileDownloaderBinder) service;\r
 -            // a new chance to get the mDownloadBinder through getDownloadBinder() - THIS IS A MESS\r
 +        public void onServiceConnected(ComponentName component, IBinder service) {\r
 +            if (component.equals(new ComponentName(FileDisplayActivity.this, FileDownloader.class))) {\r
 +                Log.d(TAG, "Download service connected");\r
 +                mDownloaderBinder = (FileDownloaderBinder) service;\r
 +            } else if (component.equals(new ComponentName(FileDisplayActivity.this, FileUploader.class))) {\r
 +                Log.d(TAG, "Upload service connected");\r
 +                mUploaderBinder = (FileUploaderBinder) service;\r
 +            } else {\r
 +                return;\r
 +            }\r
 +            // a new chance to get the mDownloadBinder through getFileDownloadBinder() - THIS IS A MESS\r
-             mFileList.listDirectory();\r
+             if (mFileList != null)\r
+                 mFileList.listDirectory();\r
              if (mDualPane) {\r
                  FileDetailFragment fragment = (FileDetailFragment) getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG);\r
                  if (fragment != null)\r
                      fragment.updateFileDetails();\r
              }\r
-             \r
          }\r
  \r
          @Override\r
 -        public void onServiceDisconnected(ComponentName arg0) {\r
 -            mDownloaderBinder = null;\r
 +        public void onServiceDisconnected(ComponentName component) {\r
 +            if (component.equals(new ComponentName(FileDisplayActivity.this, FileDownloader.class))) {\r
 +                Log.d(TAG, "Download service disconnected");\r
 +                mDownloaderBinder = null;\r
 +            } else if (component.equals(new ComponentName(FileDisplayActivity.this, FileUploader.class))) {\r
 +                Log.d(TAG, "Upload service disconnected");\r
 +                mUploaderBinder = null;\r
 +            }\r
          }\r
      };    \r
  \r