}
@Override
- public void showSearchUsersAndGroups(ArrayList<OCShare> shares) {
+ public void showSearchUsersAndGroups() {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
- mSearchFragment = SearchShareesFragment.newInstance(getFile(), getAccount(), shares);
+ mSearchFragment = SearchShareesFragment.newInstance(getFile(), getAccount());
ft.hide(mShareFileFragment);
ft.add(R.id.share_fragment_container, mSearchFragment, TAG_SEARCH_FRAGMENT);
ft.addToBackStack(TAG_SEARCH_FRAGMENT);
// the fragment initialization parameters
private static final String ARG_FILE = "FILE";
private static final String ARG_ACCOUNT = "ACCOUNT";
- private static final String ARG_SHARES = "SHARES";
// Parameters
private OCFile mFile;
private Account mAccount;
+
private ArrayList<OCShare> mShares;
private ShareUserListAdapter mUserGroupsAdapter = null;
/**
* Public factory method to create new SearchShareesFragment instances.
*
- * @param fileToShare An {@link OCFile} to show in the fragment
+ * @param fileToShare An {@link OCFile} to be shared
* @param account An ownCloud account
- * @param
* @return A new instance of fragment SearchShareesFragment.
*/
- // TODO: Rename and change types and number of parameters
- public static SearchShareesFragment newInstance(OCFile fileToShare, Account account, ArrayList<OCShare> shares) {
+ public static SearchShareesFragment newInstance(OCFile fileToShare, Account account) {
SearchShareesFragment fragment = new SearchShareesFragment();
Bundle args = new Bundle();
args.putParcelable(ARG_FILE, fileToShare);
args.putParcelable(ARG_ACCOUNT, account);
- args.putParcelableArrayList(ARG_SHARES, shares);
fragment.setArguments(args);
return fragment;
}
if (getArguments() != null) {
mFile = getArguments().getParcelable(ARG_FILE);
mAccount = getArguments().getParcelable(ARG_ACCOUNT);
- mShares = getArguments().getParcelableArrayList(ARG_SHARES);
}
}
}
});
- // Show data: Fill in list of users and groups
- ListView usersList = (ListView) view.findViewById(R.id.searchUsersListView);
- mUserGroupsAdapter = new ShareUserListAdapter(getActivity().getApplicationContext(),
- R.layout.share_user_item, mShares, this);
- if (mShares.size() > 0) {
- usersList.setVisibility(View.VISIBLE);
- usersList.setAdapter(mUserGroupsAdapter);
- }
-
return view;
}
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+
+ // Load data into the list
+ refreshUsersOrGroupsListFromDB();
+ }
+
+
/**
* Get users and groups fromn the DB to fill in the "share with" list
*/
* ownCloud Android client application
*
* @author masensio
+ * @author David A. Velasco
* Copyright (C) 2015 ownCloud Inc.
*
* This program is free software: you can redistribute it and/or modify
boolean shareWithUsersEnable = AccountUtils.hasSearchUsersSupport(mAccount);
if (shareWithUsersEnable) {
// Show Search Fragment
- mListener.showSearchUsersAndGroups(mShares);
+ mListener.showSearchUsersAndGroups();
} else {
String message = getString(R.string.share_sharee_unavailable);
Toast.makeText(getActivity(), message, Toast.LENGTH_LONG).show();
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
- // Load data to the list (start process with an Async Task)
- mListener.refreshUsersOrGroupsListFromServer();
+ // Load data into the list
+ refreshUsersOrGroupsListFromDB();
+
+ // Request for a refresh of the data through the server (starts an Async Task)
+ if (mListener != null) {
+ mListener.refreshUsersOrGroupsListFromServer();
+ }
}
@Override
private void updateListOfUserGroups() {
// Update list of users/groups
- mUserGroupsAdapter = new ShareUserListAdapter(getActivity().getApplicationContext(),
- R.layout.share_user_item, mShares, this);
+ mUserGroupsAdapter = new ShareUserListAdapter(
+ getActivity(),
+ R.layout.share_user_item,
+ mShares,
+ this
+ );
// Show data
TextView noShares = (TextView) getView().findViewById(R.id.shareNoUsers);
* >Communicating with Other Fragments</a> for more information.
*/
public interface OnShareFragmentInteractionListener {
- void showSearchUsersAndGroups(ArrayList<OCShare> shares);
+ void showSearchUsersAndGroups();
void refreshUsersOrGroupsListFromServer();
void unshareWith(OCShare share);
}