Fixed update of double pane view when download in notification bar is pressed in...
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / activity / FileDetailActivity.java
index 539cf26..ff39022 100644 (file)
@@ -52,6 +52,7 @@ public class FileDetailActivity extends SherlockFragmentActivity implements File
     \r
     private boolean mConfigurationChangedToLandscape = false;\r
     private FileDownloaderBinder mDownloaderBinder = null;\r
     \r
     private boolean mConfigurationChangedToLandscape = false;\r
     private FileDownloaderBinder mDownloaderBinder = null;\r
+    private ServiceConnection mConnection = null;\r
 \r
     @Override\r
     protected void onCreate(Bundle savedInstanceState) {\r
 \r
     @Override\r
     protected void onCreate(Bundle savedInstanceState) {\r
@@ -64,6 +65,7 @@ public class FileDetailActivity extends SherlockFragmentActivity implements File
                                            );\r
 \r
         if (!mConfigurationChangedToLandscape) {\r
                                            );\r
 \r
         if (!mConfigurationChangedToLandscape) {\r
+            mConnection = new DetailsServiceConnection();\r
             bindService(new Intent(this, FileDownloader.class), mConnection, Context.BIND_AUTO_CREATE);\r
             \r
             setContentView(R.layout.file_activity_details);\r
             bindService(new Intent(this, FileDownloader.class), mConnection, Context.BIND_AUTO_CREATE);\r
             \r
             setContentView(R.layout.file_activity_details);\r
@@ -72,7 +74,7 @@ public class FileDetailActivity extends SherlockFragmentActivity implements File
             actionBar.setDisplayHomeAsUpEnabled(true);\r
 \r
             OCFile file = getIntent().getParcelableExtra(FileDetailFragment.EXTRA_FILE);\r
             actionBar.setDisplayHomeAsUpEnabled(true);\r
 \r
             OCFile file = getIntent().getParcelableExtra(FileDetailFragment.EXTRA_FILE);\r
-            Account account = getIntent().getParcelableExtra(FileDownloader.EXTRA_ACCOUNT);\r
+            Account account = getIntent().getParcelableExtra(FileDetailFragment.EXTRA_ACCOUNT);\r
             FileDetailFragment mFileDetail = new FileDetailFragment(file, account);\r
         \r
             FragmentTransaction ft = getSupportFragmentManager().beginTransaction();\r
             FileDetailFragment mFileDetail = new FileDetailFragment(file, account);\r
         \r
             FragmentTransaction ft = getSupportFragmentManager().beginTransaction();\r
@@ -88,14 +90,14 @@ public class FileDetailActivity extends SherlockFragmentActivity implements File
     \r
     \r
     /** Defines callbacks for service binding, passed to bindService() */\r
     \r
     \r
     /** Defines callbacks for service binding, passed to bindService() */\r
-    private ServiceConnection mConnection = new ServiceConnection() {\r
+    private class DetailsServiceConnection implements ServiceConnection {\r
 \r
         @Override\r
         public void onServiceConnected(ComponentName className, IBinder service) {\r
             mDownloaderBinder = (FileDownloaderBinder) service;\r
             FileDetailFragment fragment = (FileDetailFragment) getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG);\r
             if (fragment != null)\r
 \r
         @Override\r
         public void onServiceConnected(ComponentName className, IBinder service) {\r
             mDownloaderBinder = (FileDownloaderBinder) service;\r
             FileDetailFragment fragment = (FileDetailFragment) getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG);\r
             if (fragment != null)\r
-                fragment.updateFileDetails();   // a new chance to get the mDownloadBinder through getDownloadBinder()\r
+                fragment.updateFileDetails();   // let the fragment gets the mDownloadBinder through getDownloadBinder() (see FileDetailFragment#updateFileDetais())\r
         }\r
 \r
         @Override\r
         }\r
 \r
         @Override\r
@@ -108,7 +110,10 @@ public class FileDetailActivity extends SherlockFragmentActivity implements File
     @Override\r
     public void onDestroy() {\r
         super.onDestroy();\r
     @Override\r
     public void onDestroy() {\r
         super.onDestroy();\r
-        unbindService(mConnection);\r
+        if (mConnection != null) {\r
+            unbindService(mConnection);\r
+            mConnection = null;\r
+        }\r
     }\r
     \r
     \r
     }\r
     \r
     \r
@@ -142,6 +147,7 @@ public class FileDetailActivity extends SherlockFragmentActivity implements File
         Intent intent = new Intent(this, FileDisplayActivity.class);\r
         intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);\r
         intent.putExtra(FileDetailFragment.EXTRA_FILE, getIntent().getParcelableExtra(FileDetailFragment.EXTRA_FILE));\r
         Intent intent = new Intent(this, FileDisplayActivity.class);\r
         intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);\r
         intent.putExtra(FileDetailFragment.EXTRA_FILE, getIntent().getParcelableExtra(FileDetailFragment.EXTRA_FILE));\r
+        intent.putExtra(FileDetailFragment.EXTRA_ACCOUNT, getIntent().getParcelableExtra(FileDetailFragment.EXTRA_ACCOUNT));\r
         startActivity(intent);\r
         finish();\r
     }\r
         startActivity(intent);\r
         finish();\r
     }\r