Fixed fragment not updating file infos on tablets the first time it is
authorLennart Rosam <lennart@familie-rosam.de>
Fri, 18 May 2012 19:53:39 +0000 (21:53 +0200)
committerLennart Rosam <lennart@familie-rosam.de>
Fri, 18 May 2012 19:53:39 +0000 (21:53 +0200)
created

src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java
src/eu/alefzero/owncloud/ui/fragment/FileListFragment.java

index e887876..5fd4003 100644 (file)
@@ -78,6 +78,18 @@ public class FileDetailFragment extends SherlockFragment implements
         }\r
     }\r
     \r
+    /**\r
+     * Use this when creating the fragment and display\r
+     * a file at the same time\r
+     * \r
+     * @param showDetailsIntent The Intent with the required parameters\r
+     * @see FileDetailFragment#updateFileDetails(Intent)\r
+     */\r
+    public FileDetailFragment(Intent showDetailsIntent) {\r
+        mIntent = showDetailsIntent;\r
+        mLayout = R.layout.file_details_fragment;\r
+    }\r
+\r
     @Override\r
     public void onResume() {\r
         super.onResume();\r
@@ -161,7 +173,10 @@ public class FileDetailFragment extends SherlockFragment implements
         view = inflater.inflate(mLayout, container, false);\r
         mView = view;\r
         if(mLayout == R.layout.file_details_fragment){\r
-            mIntent = getActivity().getIntent();\r
+            // Phones will launch an activity with this intent\r
+            if(mIntent == null){\r
+                mIntent = getActivity().getIntent();\r
+            }\r
             updateFileDetails();\r
         }\r
         \r
index 0aeea16..1dc6576 100644 (file)
@@ -52,7 +52,6 @@ public class FileListFragment extends FragmentListView {
     private Stack<String> mDirNames;\r
     private Vector<OCFile> mFiles;\r
     private DataStorageManager mStorageManager;\r
-    private FileDetailFragment mFileDetailsDetailFragment;\r
     private boolean mIsLargeDevice = false;\r
 \r
     public FileListFragment() {\r
@@ -72,9 +71,7 @@ public class FileListFragment extends FragmentListView {
 \r
     @Override\r
     public void onStart() {\r
-        // Inflate the original fragment for better performance\r
-        mFileDetailsDetailFragment = new FileDetailFragment();\r
-        \r
+                \r
         // Create a placeholder upon launch\r
         View fragmentContainer = getActivity().findViewById(R.id.file_details_container);\r
         if (fragmentContainer != null) {\r
@@ -115,7 +112,7 @@ public class FileListFragment extends FragmentListView {
             FileDetailFragment fileDetails = (FileDetailFragment) getFragmentManager().findFragmentByTag("FileDetails");\r
             if (fileDetails == null) {\r
                 FragmentTransaction transaction = getFragmentManager().beginTransaction();\r
-                transaction.replace(R.id.file_details_container, mFileDetailsDetailFragment, "FileDetails");\r
+                transaction.replace(R.id.file_details_container, new FileDetailFragment(showDetailsIntent), "FileDetails");\r
                 transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);\r
                 transaction.commit();\r
             } else {\r