Browse Source

ExpirationDatePickerDF: customize buttons on onStart instead of showing dialog on onCreate

That is how DialogFragment is supposed to work

Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
Álvaro Brey Vilas 3 years ago
parent
commit
8c2fc3ee87

+ 13 - 5
app/src/main/java/com/owncloud/android/ui/dialog/ExpirationDatePickerDialogFragment.java

@@ -76,6 +76,19 @@ public class ExpirationDatePickerDialogFragment
         this.onExpiryDateListener = onExpiryDateListener;
         this.onExpiryDateListener = onExpiryDateListener;
     }
     }
 
 
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        final Dialog currentDialog = getDialog();
+        if (currentDialog != null) {
+            final DatePickerDialog dialog = (DatePickerDialog) currentDialog;
+            dialog.getButton(DatePickerDialog.BUTTON_NEUTRAL).setTextColor(themeColorUtils.primaryColor(getContext(), true));
+            dialog.getButton(DatePickerDialog.BUTTON_NEGATIVE).setTextColor(themeColorUtils.primaryColor(getContext(), true));
+            dialog.getButton(DatePickerDialog.BUTTON_POSITIVE).setTextColor(themeColorUtils.primaryColor(getContext(), true));
+        }
+    }
+
     /**
     /**
      * {@inheritDoc}
      * {@inheritDoc}
      *
      *
@@ -113,11 +126,6 @@ public class ExpirationDatePickerDialogFragment
                 });
                 });
         }
         }
 
 
-        dialog.show();
-        dialog.getButton(DatePickerDialog.BUTTON_NEUTRAL).setTextColor(themeColorUtils.primaryColor(getContext(), true));
-        dialog.getButton(DatePickerDialog.BUTTON_NEGATIVE).setTextColor(themeColorUtils.primaryColor(getContext(), true));
-        dialog.getButton(DatePickerDialog.BUTTON_POSITIVE).setTextColor(themeColorUtils.primaryColor(getContext(), true));
-
         // Prevent days in the past may be chosen
         // Prevent days in the past may be chosen
         DatePicker picker = dialog.getDatePicker();
         DatePicker picker = dialog.getDatePicker();
         picker.setMinDate(tomorrowInMillis - 1000);
         picker.setMinDate(tomorrowInMillis - 1000);