X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/55dc0da79a422009633c5ffa3fae8b342f90d43e..fff362d103fdcff8e78aa5a7e51957d997ce5f73:/src/com/owncloud/android/ui/fragment/ShareFileFragment.java diff --git a/src/com/owncloud/android/ui/fragment/ShareFileFragment.java b/src/com/owncloud/android/ui/fragment/ShareFileFragment.java index 90304d25..4546cc00 100644 --- a/src/com/owncloud/android/ui/fragment/ShareFileFragment.java +++ b/src/com/owncloud/android/ui/fragment/ShareFileFragment.java @@ -21,46 +21,35 @@ package com.owncloud.android.ui.fragment; import android.accounts.Account; -import android.accounts.AuthenticatorException; -import android.accounts.OperationCanceledException; import android.app.Activity; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import android.widget.AdapterView; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; -import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.datamodel.ThumbnailsCacheManager; -import com.owncloud.android.lib.common.OwnCloudAccount; -import com.owncloud.android.lib.common.OwnCloudClient; -import com.owncloud.android.lib.common.OwnCloudClientManagerFactory; -import com.owncloud.android.lib.common.accounts.AccountUtils; import com.owncloud.android.lib.common.operations.RemoteOperationResult; -import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.lib.resources.shares.OCShare; import com.owncloud.android.lib.resources.shares.ShareType; -import com.owncloud.android.operations.GetSharesForFileOperation; -import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.activity.ShareActivity; -import com.owncloud.android.ui.adapter.LocalFileListAdapter; import com.owncloud.android.ui.adapter.ShareUserListAdapter; -import com.owncloud.android.utils.CopyTmpFileAsyncTask; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.GetShareWithUserAsyncTask; import com.owncloud.android.utils.MimetypeIconUtil; -import java.io.IOException; import java.util.ArrayList; /** @@ -74,7 +63,7 @@ import java.util.ArrayList; * create an instance of this fragment. */ public class ShareFileFragment extends Fragment - implements GetShareWithUserAsyncTask.OnGetSharesWithUserTaskListener{ + implements GetShareWithUserAsyncTask.OnGetSharesWithUserTaskListener, View.OnTouchListener { private static final String TAG = ShareFileFragment.class.getSimpleName(); // the fragment initialization parameters @@ -172,7 +161,7 @@ public class ShareFileFragment extends Fragment public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); - getShares(mFile); + getShares(); } // TODO: Rename method, update argument and hook method into UI event @@ -200,26 +189,14 @@ public class ShareFileFragment extends Fragment } // Get users and groups to fill the "share with" list - private void getShares(OCFile file){ + private void getShares(){ mShares = new ArrayList<>(); - RemoteOperationResult result = null; - - // Show loading - // TODO: Activate loading -// ( (ShareActivity) getActivity()).showWaitingLoadDialog(); // Get Users and Groups - GetShareWithUserAsyncTask getTask = new GetShareWithUserAsyncTask(this); FileDataStorageManager fileDataStorageManager = new FileDataStorageManager(mAccount, getActivity().getContentResolver()); mShares = fileDataStorageManager.getSharesWithForAFile(mFile.getRemotePath(), mAccount.name); -// Object[] params = { mFile, mAccount, fileDataStorageManager}; -// getTask.execute(params); - -// // Remove loading -// ((ShareActivity) getActivity()).dismissWaitingLoadDialog(); - // Update list of users/groups updateListOfUserGroups(); } @@ -260,12 +237,38 @@ public class ShareFileFragment extends Fragment usersList.setVisibility(View.VISIBLE); usersList.setAdapter(mUserGroupsAdapter); + // Add unshare options + registerLongClickListener(usersList); + } else { noShares.setVisibility(View.VISIBLE); usersList.setVisibility(View.GONE); } } + private void registerLongClickListener(final ListView listView) { + listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { + @Override + public boolean onItemLongClick(AdapterView parent, View view, int position, + long id) { + // Show unshare button + ImageView unshareButton = (ImageView) view.findViewById(R.id.unshareButton); + if (unshareButton.getVisibility() == View.GONE) { + unshareButton.setVisibility(View.VISIBLE); + } else { + unshareButton.setVisibility(View.GONE); + } + return false; + } + }); + } + + @Override + public boolean onTouch(View v, MotionEvent event) { + return false; + } + + // TODO: review if it is necessary /** * This interface must be implemented by activities that contain this