From f7627365b219884bbe78f137e78b01caf903120b Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Fri, 19 Feb 2021 15:46:59 +0100 Subject: [PATCH] simplify and unify borderless button theming Signed-off-by: Andy Scherzinger --- .../ui/activity/FileDisplayActivity.java | 4 ++- .../android/ui/activity/SettingsActivity.java | 3 ++- .../ui/activity/SyncedFoldersActivity.java | 10 +++---- .../AccountRemovalConfirmationDialog.java | 8 +++--- ...seRichDocumentsTemplateDialogFragment.java | 8 +++--- .../dialog/ChooseTemplateDialogFragment.java | 8 +++--- .../ui/dialog/ConfirmationDialogFragment.java | 9 ++++--- .../ui/dialog/ConflictsResolveDialog.java | 27 ++++++------------- .../ui/dialog/CreateFolderDialogFragment.java | 8 +++--- .../LocalStoragePathPickerDialogFragment.java | 6 ++--- .../android/ui/dialog/NoteDialogFragment.java | 8 +++--- .../dialog/SetupEncryptionDialogFragment.java | 15 +++++------ .../dialog/SharePasswordDialogFragment.java | 10 ++++--- .../SyncFileNotEnoughSpaceDialogFragment.java | 9 ++++--- ...SyncedFolderPreferencesDialogFragment.java | 5 ++-- .../android/utils/theme/ThemeButtonUtils.java | 14 +++++----- 16 files changed, 72 insertions(+), 80 deletions(-) diff --git a/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java index d6d7c13b37..9fed2764ce 100644 --- a/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -117,6 +117,7 @@ import com.owncloud.android.utils.FileSortOrder; import com.owncloud.android.utils.MimeTypeUtil; import com.owncloud.android.utils.PermissionUtil; import com.owncloud.android.utils.PushUtils; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; import com.owncloud.android.utils.theme.ThemeSnackbarUtils; import com.owncloud.android.utils.theme.ThemeToolbarUtils; @@ -306,7 +307,8 @@ public class FileDisplayActivity extends FileActivity .create(); alertDialog.show(); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(ThemeColorUtils.primaryAccentColor(this)); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(this), + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE)); } catch (WindowManager.BadTokenException e) { Log_OC.e(TAG, "Error showing wrong storage info, so skipping it: " + e.getMessage()); } diff --git a/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java b/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java index 28cc5ccb7c..42f93ebb2e 100644 --- a/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java @@ -76,6 +76,7 @@ import com.owncloud.android.utils.DeviceCredentialUtils; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.EncryptionUtils; import com.owncloud.android.utils.MimeTypeUtil; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; import com.owncloud.android.utils.theme.ThemeTextUtils; import com.owncloud.android.utils.theme.ThemeToolbarUtils; @@ -893,7 +894,7 @@ public class SettingsActivity extends ThemedPreferenceActivity .create(); alertDialog.show(); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(accentColor); + ThemeButtonUtils.themeBorderlessButton(accentColor, alertDialog.getButton(AlertDialog.BUTTON_POSITIVE)); } } } diff --git a/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java b/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java index 1b0b149bda..f919baa0aa 100644 --- a/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java @@ -204,7 +204,8 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA .setMessage(getString(R.string.power_save_check_dialog_message)) .show(); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(ThemeColorUtils.primaryAccentColor(this)); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(this), + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE)); } /** @@ -818,10 +819,9 @@ public class SyncedFoldersActivity extends FileActivity implements SyncedFolderA if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) { AlertDialog alertDialog = alertDialogBuilder.show(); - - int color = ThemeColorUtils.primaryAccentColor(this); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(color); - alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL).setTextColor(color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(this), + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE), + alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)); } } } diff --git a/src/main/java/com/owncloud/android/ui/dialog/AccountRemovalConfirmationDialog.java b/src/main/java/com/owncloud/android/ui/dialog/AccountRemovalConfirmationDialog.java index 9f4016491f..e4af86bf1b 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/AccountRemovalConfirmationDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/AccountRemovalConfirmationDialog.java @@ -29,6 +29,7 @@ import com.nextcloud.client.account.User; import com.nextcloud.client.di.Injectable; import com.nextcloud.client.jobs.BackgroundJobManager; import com.owncloud.android.R; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; import javax.inject.Inject; @@ -64,12 +65,11 @@ public class AccountRemovalConfirmationDialog extends DialogFragment implements public void onStart() { super.onStart(); - int color = ThemeColorUtils.primaryAccentColor(getActivity()); - AlertDialog alertDialog = (AlertDialog) getDialog(); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(color); - alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL).setTextColor(color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getActivity()), + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE), + alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)); } @NonNull diff --git a/src/main/java/com/owncloud/android/ui/dialog/ChooseRichDocumentsTemplateDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/ChooseRichDocumentsTemplateDialogFragment.java index 3a79a282c0..e50758cd05 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/ChooseRichDocumentsTemplateDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/ChooseRichDocumentsTemplateDialogFragment.java @@ -114,17 +114,15 @@ public class ChooseRichDocumentsTemplateDialogFragment extends DialogFragment im public void onStart() { super.onStart(); - int color = ThemeColorUtils.primaryAccentColor(getContext()); - AlertDialog alertDialog = (AlertDialog) getDialog(); positiveButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE); - ThemeButtonUtils.themeBorderlessButton(positiveButton, color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getContext()), + positiveButton, + alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)); positiveButton.setOnClickListener(this); positiveButton.setEnabled(false); - ThemeButtonUtils.themeBorderlessButton(alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL), color); - checkEnablingCreateButton(); } diff --git a/src/main/java/com/owncloud/android/ui/dialog/ChooseTemplateDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/ChooseTemplateDialogFragment.java index 225e2cd9fa..e3818fd377 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/ChooseTemplateDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/ChooseTemplateDialogFragment.java @@ -118,17 +118,15 @@ public class ChooseTemplateDialogFragment extends DialogFragment implements View public void onStart() { super.onStart(); - int color = ThemeColorUtils.primaryAccentColor(getContext()); - AlertDialog alertDialog = (AlertDialog) getDialog(); positiveButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE); - ThemeButtonUtils.themeBorderlessButton(positiveButton, color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getContext()), + positiveButton, + alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)); positiveButton.setOnClickListener(this); positiveButton.setEnabled(false); - ThemeButtonUtils.themeBorderlessButton(alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL), color); - checkEnablingCreateButton(); } diff --git a/src/main/java/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java index 4f9a4d030c..126764a17e 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/ConfirmationDialogFragment.java @@ -21,6 +21,7 @@ import android.app.Dialog; import android.os.Bundle; import com.owncloud.android.R; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; import androidx.annotation.NonNull; @@ -75,12 +76,12 @@ public class ConfirmationDialogFragment extends DialogFragment { public void onStart() { super.onStart(); - int color = ThemeColorUtils.primaryAccentColor(getContext()); - AlertDialog alertDialog = (AlertDialog) getDialog(); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(color); - alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getContext()), + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE), + alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE), + alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)); } public void setOnConfirmationListener(ConfirmationDialogFragmentListener listener) { diff --git a/src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java b/src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java index e9c021bda4..f3ec056c24 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/ConflictsResolveDialog.java @@ -39,6 +39,7 @@ import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.ui.adapter.LocalFileListAdapter; import com.owncloud.android.ui.adapter.OCFileListAdapter; import com.owncloud.android.utils.DisplayUtils; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeCheckableUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; @@ -50,7 +51,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; -import androidx.core.content.res.ResourcesCompat; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentTransaction; @@ -115,11 +115,11 @@ public class ConflictsResolveDialog extends DialogFragment { return; } - int color = ThemeColorUtils.primaryAccentColor(getContext()); positiveButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE); - setPositiveButtonStatus(false); - - alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL).setTextColor(color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getContext()), + positiveButton, + alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)); + positiveButton.setEnabled(false); } @Override @@ -209,7 +209,7 @@ public class ConflictsResolveDialog extends DialogFragment { getContext()); View.OnClickListener checkBoxClickListener = v -> { - setPositiveButtonStatus(binding.newCheckbox.isChecked() || binding.existingCheckbox.isChecked()); + positiveButton.setEnabled(binding.newCheckbox.isChecked() || binding.existingCheckbox.isChecked()); }; binding.newCheckbox.setOnClickListener(checkBoxClickListener); @@ -217,27 +217,16 @@ public class ConflictsResolveDialog extends DialogFragment { binding.newFileContainer.setOnClickListener(v -> { binding.newCheckbox.setChecked(!binding.newCheckbox.isChecked()); - setPositiveButtonStatus(binding.newCheckbox.isChecked() || binding.existingCheckbox.isChecked()); + positiveButton.setEnabled(binding.newCheckbox.isChecked() || binding.existingCheckbox.isChecked()); }); binding.existingFileContainer.setOnClickListener(v -> { binding.existingCheckbox.setChecked(!binding.existingCheckbox.isChecked()); - setPositiveButtonStatus(binding.newCheckbox.isChecked() || binding.existingCheckbox.isChecked()); + positiveButton.setEnabled(binding.newCheckbox.isChecked() || binding.existingCheckbox.isChecked()); }); return builder.create(); } - private void setPositiveButtonStatus(boolean enabled) { - if (enabled) { - positiveButton.setTextColor(ThemeColorUtils.primaryAccentColor(requireContext())); - } else { - positiveButton.setTextColor(ResourcesCompat.getColor(requireContext().getResources(), - R.color.grey_200, - null)); - } - positiveButton.setEnabled(enabled); - } - public void showDialog(AppCompatActivity activity) { Fragment prev = activity.getSupportFragmentManager().findFragmentByTag("dialog"); FragmentTransaction ft = activity.getSupportFragmentManager().beginTransaction(); diff --git a/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java index 4e3959b4f4..5b76809afe 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java @@ -36,6 +36,7 @@ import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.lib.resources.files.FileUtils; import com.owncloud.android.ui.activity.ComponentsGetter; import com.owncloud.android.utils.DisplayUtils; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; import com.owncloud.android.utils.theme.ThemeTextInputUtils; @@ -76,12 +77,11 @@ public class CreateFolderDialogFragment public void onStart() { super.onStart(); - int color = ThemeColorUtils.primaryAccentColor(getContext()); - AlertDialog alertDialog = (AlertDialog) getDialog(); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(color); - alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL).setTextColor(color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getContext()), + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE), + alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)); } @NonNull diff --git a/src/main/java/com/owncloud/android/ui/dialog/LocalStoragePathPickerDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/LocalStoragePathPickerDialogFragment.java index 5332012673..305e9f7ad3 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/LocalStoragePathPickerDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/LocalStoragePathPickerDialogFragment.java @@ -32,6 +32,7 @@ import com.owncloud.android.R; import com.owncloud.android.ui.adapter.StoragePathAdapter; import com.owncloud.android.ui.adapter.StoragePathItem; import com.owncloud.android.utils.FileStorageUtils; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; import java.io.File; @@ -79,11 +80,10 @@ public class LocalStoragePathPickerDialogFragment extends DialogFragment public void onStart() { super.onStart(); - int color = ThemeColorUtils.primaryAccentColor(getContext()); - AlertDialog alertDialog = (AlertDialog) getDialog(); - alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getContext()), + alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE)); } @Override diff --git a/src/main/java/com/owncloud/android/ui/dialog/NoteDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/NoteDialogFragment.java index 6a0edac3c3..cd12bafd59 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/NoteDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/NoteDialogFragment.java @@ -34,6 +34,7 @@ import com.owncloud.android.databinding.NoteDialogBinding; import com.owncloud.android.lib.resources.shares.OCShare; import com.owncloud.android.ui.activity.ComponentsGetter; import com.owncloud.android.utils.DisplayUtils; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; import com.owncloud.android.utils.theme.ThemeTextInputUtils; @@ -78,12 +79,11 @@ public class NoteDialogFragment extends DialogFragment implements DialogInterfac public void onStart() { super.onStart(); - int color = ThemeColorUtils.primaryAccentColor(getContext()); - AlertDialog alertDialog = (AlertDialog) getDialog(); - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(color); - alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL).setTextColor(color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getContext()), + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE), + alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)); } @NonNull diff --git a/src/main/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragment.java index e24caf6ade..4ab4933ab9 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SetupEncryptionDialogFragment.java @@ -46,6 +46,7 @@ import com.owncloud.android.lib.resources.users.SendCSROperation; import com.owncloud.android.lib.resources.users.StorePrivateKeyOperation; import com.owncloud.android.utils.CsrHelper; import com.owncloud.android.utils.EncryptionUtils; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; import java.io.IOException; @@ -108,15 +109,13 @@ public class SetupEncryptionDialogFragment extends DialogFragment { public void onStart() { super.onStart(); - int color = ThemeColorUtils.primaryAccentColor(getContext()); - AlertDialog alertDialog = (AlertDialog) getDialog(); positiveButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE); - positiveButton.setTextColor(color); - neutralButton = alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL); - neutralButton.setTextColor(color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getContext()), + positiveButton, + neutralButton); task = new DownloadKeysAsyncTask(); task.execute(); @@ -402,7 +401,6 @@ public class SetupEncryptionDialogFragment extends DialogFragment { @VisibleForTesting public void showMnemonicInfo() { - int color = ThemeColorUtils.primaryAccentColor(getContext()); requireDialog().setTitle(R.string.end_to_end_encryption_passphrase_title); textView.setText(R.string.end_to_end_encryption_keywords_description); @@ -414,8 +412,9 @@ public class SetupEncryptionDialogFragment extends DialogFragment { positiveButton.setVisibility(View.VISIBLE); neutralButton.setVisibility(View.VISIBLE); - ThemeUtils.themeBorderlessButton(positiveButton, color); - ThemeUtils.themeBorderlessButton(neutralButton, color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getContext()), + positiveButton, + neutralButton); keyResult = KEY_GENERATE; } diff --git a/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java index 29d4fe72cc..178edce2b9 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java @@ -35,6 +35,7 @@ import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.lib.resources.shares.OCShare; import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.utils.DisplayUtils; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; import com.owncloud.android.utils.theme.ThemeTextInputUtils; @@ -67,10 +68,11 @@ public class SharePasswordDialogFragment extends DialogFragment implements Dialo AlertDialog alertDialog = (AlertDialog) getDialog(); if (alertDialog != null) { - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(ThemeColorUtils.primaryAccentColor(getContext())); - alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(ThemeColorUtils.primaryAccentColor(getContext())); - alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL) - .setTextColor(getResources().getColor(R.color.highlight_textColor_Warning)); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getContext()), + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE), + alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE)); + ThemeButtonUtils.themeBorderlessButton(getResources().getColor(R.color.highlight_textColor_Warning), + alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)); } } diff --git a/src/main/java/com/owncloud/android/ui/dialog/SyncFileNotEnoughSpaceDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SyncFileNotEnoughSpaceDialogFragment.java index 203b8ab8ba..d2ef0f8fee 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SyncFileNotEnoughSpaceDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SyncFileNotEnoughSpaceDialogFragment.java @@ -30,6 +30,7 @@ import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener; import com.owncloud.android.ui.fragment.OCFileListFragment; import com.owncloud.android.utils.DisplayUtils; +import com.owncloud.android.utils.theme.ThemeButtonUtils; import com.owncloud.android.utils.theme.ThemeColorUtils; import androidx.annotation.NonNull; @@ -80,13 +81,13 @@ public class SyncFileNotEnoughSpaceDialogFragment extends ConfirmationDialogFrag public void onStart() { super.onStart(); - int color = ThemeColorUtils.primaryAccentColor(getActivity()); AlertDialog alertDialog = (AlertDialog) getDialog(); if (alertDialog != null) { - alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(color); - alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL).setTextColor(color); - alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(color); + ThemeButtonUtils.themeBorderlessButton(ThemeColorUtils.primaryAccentColor(getActivity()), + alertDialog.getButton(AlertDialog.BUTTON_POSITIVE), + alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL), + alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE)); } } diff --git a/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java index e48a07b46d..4ce338e84f 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java @@ -206,10 +206,9 @@ public class SyncedFolderPreferencesDialogFragment extends DialogFragment { mNameCollisionPolicySummary = view.findViewById(R.id.setting_instant_name_collision_policy_summary); mCancel = view.findViewById(R.id.cancel); - ThemeButtonUtils.themeBorderlessButton(mCancel, accentColor); - mSave = view.findViewById(R.id.save); - ThemeButtonUtils.themeBorderlessButton(mSave, accentColor); + + ThemeButtonUtils.themeBorderlessButton(accentColor, mCancel, mSave); // Set values setEnabled(mSyncedFolder.isEnabled()); diff --git a/src/main/java/com/owncloud/android/utils/theme/ThemeButtonUtils.java b/src/main/java/com/owncloud/android/utils/theme/ThemeButtonUtils.java index 5a985bd1d7..409cdf3529 100644 --- a/src/main/java/com/owncloud/android/utils/theme/ThemeButtonUtils.java +++ b/src/main/java/com/owncloud/android/utils/theme/ThemeButtonUtils.java @@ -64,14 +64,13 @@ public final class ThemeButtonUtils { } } - public static void themeBorderlessButton(Button button, int primaryColor) { - if (button == null) { + public static void themeBorderlessButton(int primaryColor, Button... buttons) { + if (buttons == null || buttons.length < 1) { return; } - - Context context = button.getContext(); + Context context = buttons[0].getContext(); int disabledColor = ContextCompat.getColor(context, R.color.disabled_text); - button.setTextColor(new ColorStateList( + ColorStateList colorStateList = new ColorStateList( new int[][]{ new int[]{android.R.attr.state_enabled}, // enabled new int[]{-android.R.attr.state_enabled}, // disabled @@ -80,6 +79,9 @@ public final class ThemeButtonUtils { primaryColor, disabledColor } - )); + ); + for (Button button: buttons) { + button.setTextColor(colorStateList); + } } }