From: Lennart Rosam Date: Fri, 18 May 2012 19:53:39 +0000 (+0200) Subject: Fixed fragment not updating file infos on tablets the first time it is X-Git-Tag: oc-android-1.4.3~409^2 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/d4a339871d8f40ccd9f086becfdd8a6c615700d9 Fixed fragment not updating file infos on tablets the first time it is created --- diff --git a/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java b/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java index e8878762..5fd4003a 100644 --- a/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java +++ b/src/eu/alefzero/owncloud/ui/fragment/FileDetailFragment.java @@ -78,6 +78,18 @@ public class FileDetailFragment extends SherlockFragment implements } } + /** + * Use this when creating the fragment and display + * a file at the same time + * + * @param showDetailsIntent The Intent with the required parameters + * @see FileDetailFragment#updateFileDetails(Intent) + */ + public FileDetailFragment(Intent showDetailsIntent) { + mIntent = showDetailsIntent; + mLayout = R.layout.file_details_fragment; + } + @Override public void onResume() { super.onResume(); @@ -161,7 +173,10 @@ public class FileDetailFragment extends SherlockFragment implements view = inflater.inflate(mLayout, container, false); mView = view; if(mLayout == R.layout.file_details_fragment){ - mIntent = getActivity().getIntent(); + // Phones will launch an activity with this intent + if(mIntent == null){ + mIntent = getActivity().getIntent(); + } updateFileDetails(); } diff --git a/src/eu/alefzero/owncloud/ui/fragment/FileListFragment.java b/src/eu/alefzero/owncloud/ui/fragment/FileListFragment.java index 0aeea169..1dc6576e 100644 --- a/src/eu/alefzero/owncloud/ui/fragment/FileListFragment.java +++ b/src/eu/alefzero/owncloud/ui/fragment/FileListFragment.java @@ -52,7 +52,6 @@ public class FileListFragment extends FragmentListView { private Stack mDirNames; private Vector mFiles; private DataStorageManager mStorageManager; - private FileDetailFragment mFileDetailsDetailFragment; private boolean mIsLargeDevice = false; public FileListFragment() { @@ -72,9 +71,7 @@ public class FileListFragment extends FragmentListView { @Override public void onStart() { - // Inflate the original fragment for better performance - mFileDetailsDetailFragment = new FileDetailFragment(); - + // Create a placeholder upon launch View fragmentContainer = getActivity().findViewById(R.id.file_details_container); if (fragmentContainer != null) { @@ -115,7 +112,7 @@ public class FileListFragment extends FragmentListView { FileDetailFragment fileDetails = (FileDetailFragment) getFragmentManager().findFragmentByTag("FileDetails"); if (fileDetails == null) { FragmentTransaction transaction = getFragmentManager().beginTransaction(); - transaction.replace(R.id.file_details_container, mFileDetailsDetailFragment, "FileDetails"); + transaction.replace(R.id.file_details_container, new FileDetailFragment(showDetailsIntent), "FileDetails"); transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); transaction.commit(); } else {