فهرست منبع

Merge pull request #12177 from nextcloud/refactor/convert-ClipboardFiles-to-kt

Convert ClipboardFiles to Kotlin
Andy Scherzinger 1 سال پیش
والد
کامیت
852591db40

+ 10 - 16
app/src/main/java/com/owncloud/android/ui/activity/CopyToClipboardActivity.java → app/src/main/java/com/owncloud/android/ui/activity/CopyToClipboardActivity.kt

@@ -18,26 +18,20 @@
  *   You should have received a copy of the GNU General Public License
  *   You should have received a copy of the GNU General Public License
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
  */
+package com.owncloud.android.ui.activity
 
 
-package com.owncloud.android.ui.activity;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-
-import com.owncloud.android.utils.ClipboardUtil;
+import android.app.Activity
+import android.content.Intent
+import android.os.Bundle
+import com.owncloud.android.utils.ClipboardUtil
 
 
 /**
 /**
  * Activity copying the text of the received Intent into the system clipboard.
  * Activity copying the text of the received Intent into the system clipboard.
  */
  */
-public class CopyToClipboardActivity extends Activity {
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        ClipboardUtil.copyToClipboard(this, getIntent().getCharSequenceExtra(Intent.EXTRA_TEXT).toString());
-
-        finish();
+class CopyToClipboardActivity : Activity() {
+    public override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        ClipboardUtil.copyToClipboard(this, intent.getCharSequenceExtra(Intent.EXTRA_TEXT).toString())
+        finish()
     }
     }
 }
 }

+ 9 - 12
app/src/main/java/com/owncloud/android/ui/fragment/FileDetailSharingFragment.java

@@ -91,7 +91,6 @@ public class FileDetailSharingFragment extends Fragment implements ShareeListAda
 
 
     private static final String ARG_FILE = "FILE";
     private static final String ARG_FILE = "FILE";
     private static final String ARG_USER = "USER";
     private static final String ARG_USER = "USER";
-    public static final int PERMISSION_EDITING_ALLOWED = 17;
 
 
     private OCFile file;
     private OCFile file;
     private User user;
     private User user;
@@ -128,8 +127,8 @@ public class FileDetailSharingFragment extends Fragment implements ShareeListAda
         } else {
         } else {
             Bundle arguments = getArguments();
             Bundle arguments = getArguments();
             if (arguments != null) {
             if (arguments != null) {
-                file = getArguments().getParcelable(ARG_FILE);
-                user = getArguments().getParcelable(ARG_USER);
+                file = arguments.getParcelable(ARG_FILE);
+                user = arguments.getParcelable(ARG_USER);
             }
             }
         }
         }
 
 
@@ -159,12 +158,11 @@ public class FileDetailSharingFragment extends Fragment implements ShareeListAda
     @Override
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
     public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         binding = FileDetailsSharingFragmentBinding.inflate(inflater, container, false);
         binding = FileDetailsSharingFragmentBinding.inflate(inflater, container, false);
-        View view = binding.getRoot();
 
 
         fileOperationsHelper = fileActivity.getFileOperationsHelper();
         fileOperationsHelper = fileActivity.getFileOperationsHelper();
         fileDataStorageManager = fileActivity.getStorageManager();
         fileDataStorageManager = fileActivity.getStorageManager();
 
 
-        AccountManager accountManager = AccountManager.get(getContext());
+        AccountManager accountManager = AccountManager.get(requireContext());
         String userId = accountManager.getUserData(user.toPlatformAccount(),
         String userId = accountManager.getUserData(user.toPlatformAccount(),
                                                    com.owncloud.android.lib.common.accounts.AccountUtils.Constants.KEY_USER_ID);
                                                    com.owncloud.android.lib.common.accounts.AccountUtils.Constants.KEY_USER_ID);
 
 
@@ -175,13 +173,14 @@ public class FileDetailSharingFragment extends Fragment implements ShareeListAda
                                                             user,
                                                             user,
                                                             viewThemeUtils,
                                                             viewThemeUtils,
                                                             file.isEncrypted()));
                                                             file.isEncrypted()));
-        binding.sharesList.setLayoutManager(new LinearLayoutManager(getContext()));
+
+        binding.sharesList.setLayoutManager(new LinearLayoutManager(requireContext()));
 
 
         binding.pickContactEmailBtn.setOnClickListener(v -> checkContactPermission());
         binding.pickContactEmailBtn.setOnClickListener(v -> checkContactPermission());
 
 
         setupView();
         setupView();
 
 
-        return view;
+        return binding.getRoot();
     }
     }
 
 
     @Override
     @Override
@@ -229,9 +228,7 @@ public class FileDetailSharingFragment extends Fragment implements ShareeListAda
     private void disableSearchView(View view) {
     private void disableSearchView(View view) {
         view.setEnabled(false);
         view.setEnabled(false);
 
 
-        if (view instanceof ViewGroup) {
-            ViewGroup viewGroup = (ViewGroup) view;
-
+        if (view instanceof ViewGroup viewGroup) {
             for (int i = 0; i < viewGroup.getChildCount(); i++) {
             for (int i = 0; i < viewGroup.getChildCount(); i++) {
                 disableSearchView(viewGroup.getChildAt(i));
                 disableSearchView(viewGroup.getChildAt(i));
             }
             }
@@ -315,7 +312,7 @@ public class FileDetailSharingFragment extends Fragment implements ShareeListAda
             if (TextUtils.isEmpty(share.getShareLink())) {
             if (TextUtils.isEmpty(share.getShareLink())) {
                 fileOperationsHelper.getFileWithLink(file, viewThemeUtils);
                 fileOperationsHelper.getFileWithLink(file, viewThemeUtils);
             } else {
             } else {
-                ClipboardUtil.copyToClipboard(getActivity(), share.getShareLink());
+                ClipboardUtil.copyToClipboard(requireActivity(), share.getShareLink());
             }
             }
         }
         }
     }
     }
@@ -555,7 +552,7 @@ public class FileDetailSharingFragment extends Fragment implements ShareeListAda
 
 
     @VisibleForTesting
     @VisibleForTesting
     public void search(String query) {
     public void search(String query) {
-        SearchView searchView = getView().findViewById(R.id.searchView);
+        SearchView searchView = requireView().findViewById(R.id.searchView);
         searchView.setQuery(query, true);
         searchView.setQuery(query, true);
     }
     }
 
 

+ 1 - 1
app/src/main/java/com/owncloud/android/ui/fragment/FileDetailsSharingProcessFragment.kt

@@ -545,7 +545,7 @@ class FileDetailsSharingProcessFragment :
         )
         )
         // copy the share link if available
         // copy the share link if available
         if (!TextUtils.isEmpty(share?.shareLink)) {
         if (!TextUtils.isEmpty(share?.shareLink)) {
-            ClipboardUtil.copyToClipboard(activity, share?.shareLink)
+            ClipboardUtil.copyToClipboard(requireActivity(), share?.shareLink)
         }
         }
     }
     }
 
 

+ 28 - 33
app/src/main/java/com/owncloud/android/utils/ClipboardUtil.java → app/src/main/java/com/owncloud/android/utils/ClipboardUtil.kt

@@ -17,51 +17,46 @@
  * You should have received a copy of the GNU Affero General Public
  * You should have received a copy of the GNU Affero General Public
  * License along with this program.  If not, see <http://www.gnu.org/licenses/>.
  * License along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
  */
+package com.owncloud.android.utils
 
 
-package com.owncloud.android.utils;
-
-import android.app.Activity;
-import android.content.ClipData;
-import android.content.ClipboardManager;
-import android.content.Context;
-import android.text.TextUtils;
-import android.widget.Toast;
-
-import com.owncloud.android.R;
-import com.owncloud.android.lib.common.utils.Log_OC;
+import android.app.Activity
+import android.content.ClipData
+import android.content.ClipboardManager
+import android.content.Context
+import android.text.TextUtils
+import android.widget.Toast
+import com.owncloud.android.R
+import com.owncloud.android.lib.common.utils.Log_OC
 
 
 /**
 /**
  * Helper implementation to copy a string into the system clipboard.
  * Helper implementation to copy a string into the system clipboard.
  */
  */
-public final class ClipboardUtil {
-    private static final String TAG = ClipboardUtil.class.getName();
-
-    private ClipboardUtil() {
-    }
+object ClipboardUtil {
+    private val TAG = ClipboardUtil::class.java.name
 
 
-    public static void copyToClipboard(Activity activity, String text) {
-        copyToClipboard(activity, text, true);
-    }
-
-    public static void copyToClipboard(Activity activity, String text, boolean showToast) {
+    @JvmStatic
+    @JvmOverloads
+    @Suppress("TooGenericExceptionCaught")
+    fun copyToClipboard(activity: Activity, text: String?, showToast: Boolean = true) {
         if (!TextUtils.isEmpty(text)) {
         if (!TextUtils.isEmpty(text)) {
             try {
             try {
-                ClipData clip = ClipData.newPlainText(
-                        activity.getString(
-                                R.string.clipboard_label, activity.getString(R.string.app_name)),
-                        text
-                );
-                ((ClipboardManager) activity.getSystemService(Context.CLIPBOARD_SERVICE)).setPrimaryClip(clip);
-
+                val clip = ClipData.newPlainText(
+                    activity.getString(
+                        R.string.clipboard_label,
+                        activity.getString(R.string.app_name)
+                    ),
+                    text
+                )
+                (activity.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager).setPrimaryClip(clip)
                 if (showToast) {
                 if (showToast) {
-                    Toast.makeText(activity, R.string.clipboard_text_copied, Toast.LENGTH_SHORT).show();
+                    Toast.makeText(activity, R.string.clipboard_text_copied, Toast.LENGTH_SHORT).show()
                 }
                 }
-            } catch (Exception e) {
-                Toast.makeText(activity, R.string.clipboard_unexpected_error, Toast.LENGTH_SHORT).show();
-                Log_OC.e(TAG, "Exception caught while copying to clipboard", e);
+            } catch (e: Exception) {
+                Toast.makeText(activity, R.string.clipboard_unexpected_error, Toast.LENGTH_SHORT).show()
+                Log_OC.e(TAG, "Exception caught while copying to clipboard", e)
             }
             }
         } else {
         } else {
-            Toast.makeText(activity, R.string.clipboard_no_text_to_copy, Toast.LENGTH_SHORT).show();
+            Toast.makeText(activity, R.string.clipboard_no_text_to_copy, Toast.LENGTH_SHORT).show()
         }
         }
     }
     }
 }
 }