Эх сурвалжийг харах

#6247 View Binding - ConflictResolveDialogBinding

Signed-off-by: Stefan Niedermann <info@niedermann.it>
Stefan Niedermann 5 жил өмнө
parent
commit
934e1f406a

+ 20 - 33
src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java

@@ -33,6 +33,7 @@ import android.widget.Toast;
 
 import com.nextcloud.client.account.User;
 import com.owncloud.android.R;
+import com.owncloud.android.databinding.ConflictResolveDialogBinding;
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.datamodel.ThumbnailsCacheManager;
@@ -61,6 +62,8 @@ import androidx.fragment.app.FragmentTransaction;
  */
 public class ConflictsResolveDialog extends DialogFragment {
 
+    private ConflictResolveDialogBinding binding;
+
     private OCFile existingFile;
     private File newFile;
     public OnConflictDecisionMadeListener listener;
@@ -147,24 +150,20 @@ public class ConflictsResolveDialog extends DialogFragment {
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         // Inflate the layout for the dialog
-        LayoutInflater inflater = getActivity().getLayoutInflater();
-        View view = inflater.inflate(R.layout.conflict_resolve_dialog, null);
+        binding = ConflictResolveDialogBinding.inflate(requireActivity().getLayoutInflater());
         int accentColor = ThemeUtils.primaryAccentColor(getContext());
 
-        AppCompatCheckBox newFileCheckbox = view.findViewById(R.id.new_checkbox);
-        AppCompatCheckBox existingFileCheckbox = view.findViewById(R.id.existing_checkbox);
-
-        ThemeUtils.tintCheckbox(newFileCheckbox, ThemeUtils.primaryColor(getContext()));
-        ThemeUtils.tintCheckbox(existingFileCheckbox, ThemeUtils.primaryColor(getContext()));
+        ThemeUtils.tintCheckbox(binding.newCheckbox, ThemeUtils.primaryColor(getContext()));
+        ThemeUtils.tintCheckbox(binding.existingCheckbox, ThemeUtils.primaryColor(getContext()));
 
         // Build the dialog
-        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
-        builder.setView(view)
+        AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity());
+        builder.setView(binding.getRoot())
             .setPositiveButton(R.string.common_ok, (dialog, which) -> {
                 if (listener != null) {
-                    if (newFileCheckbox.isChecked() && existingFileCheckbox.isChecked()) {
+                    if (binding.newCheckbox.isChecked() && binding.existingCheckbox.isChecked()) {
                         listener.conflictDecisionMade(Decision.KEEP_BOTH);
-                    } else if (newFileCheckbox.isChecked()) {
+                    } else if (binding.newCheckbox.isChecked()) {
                         listener.conflictDecisionMade(Decision.KEEP_LOCAL);
                     } else {
                         listener.conflictDecisionMade(Decision.KEEP_SERVER);
@@ -180,28 +179,19 @@ public class ConflictsResolveDialog extends DialogFragment {
                                                  accentColor));
 
         // set info for new file
-        TextView newSize = view.findViewById(R.id.new_size);
-        newSize.setText(DisplayUtils.bytesToHumanReadable(newFile.length()));
-
-        TextView newTimestamp = view.findViewById(R.id.new_timestamp);
-        newTimestamp.setText(DisplayUtils.getRelativeTimestamp(getContext(), newFile.lastModified()));
-
-        ImageView newThumbnail = view.findViewById(R.id.new_thumbnail);
-        newThumbnail.setTag(newFile.hashCode());
-        LocalFileListAdapter.setThumbnail(newFile, newThumbnail, getContext());
+        binding.newSize.setText(DisplayUtils.bytesToHumanReadable(newFile.length()));
+        binding.newTimestamp.setText(DisplayUtils.getRelativeTimestamp(getContext(), newFile.lastModified()));
+        binding.newThumbnail.setTag(newFile.hashCode());
+        LocalFileListAdapter.setThumbnail(newFile, binding.newThumbnail, getContext());
 
         // set info for existing file
-        TextView existingSize = view.findViewById(R.id.existing_size);
-        existingSize.setText(DisplayUtils.bytesToHumanReadable(existingFile.getFileLength()));
-
-        TextView existingTimestamp = view.findViewById(R.id.existing_timestamp);
-        existingTimestamp.setText(DisplayUtils.getRelativeTimestamp(getContext(),
+        binding.existingSize.setText(DisplayUtils.bytesToHumanReadable(existingFile.getFileLength()));
+        binding.existingTimestamp.setText(DisplayUtils.getRelativeTimestamp(getContext(),
                                                                     existingFile.getModificationTimestamp()));
 
-        ImageView existingThumbnail = view.findViewById(R.id.existing_thumbnail);
-        existingThumbnail.setTag(existingFile.getFileId());
+        binding.existingThumbnail.setTag(existingFile.getFileId());
         OCFileListAdapter.setThumbnail(existingFile,
-                                       view.findViewById(R.id.existing_thumbnail),
+                                       binding.existingThumbnail,
                                        user,
                                        new FileDataStorageManager(user.toPlatformAccount(),
                                                                   requireContext().getContentResolver()),
@@ -209,11 +199,8 @@ public class ConflictsResolveDialog extends DialogFragment {
                                        false,
                                        getContext());
 
-        view.findViewById(R.id.newFileContainer)
-            .setOnClickListener(v -> newFileCheckbox.setChecked(!newFileCheckbox.isChecked()));
-
-        view.findViewById(R.id.existingFileContainer)
-            .setOnClickListener(v -> existingFileCheckbox.setChecked(!existingFileCheckbox.isChecked()));
+        binding.newFileContainer.setOnClickListener(v -> binding.newCheckbox.setChecked(!binding.newCheckbox.isChecked()));
+        binding.existingFileContainer.setOnClickListener(v -> binding.existingCheckbox.setChecked(!binding.existingCheckbox.isChecked()));
 
         return builder.create();
     }