From 20d2ef989d1f1067562bff07086fb3bc45e21a6d Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Mon, 22 Jun 2020 17:40:36 +0200 Subject: [PATCH 1/9] proper button coloring for dark theme + black primary color Signed-off-by: Andy Scherzinger --- .../ui/fragment/contactsbackup/ContactsBackupFragment.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java b/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java index a741ae6a0f9c..1e4175e859dc 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java @@ -184,8 +184,8 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { calendarPickerOpen = true; } - int primaryColor = ThemeUtils.primaryColor(getContext()); - int fontColor = ThemeUtils.fontColor(getContext()); + int primaryColor = ThemeUtils.primaryColor(getContext(), true); + int fontColor = ThemeUtils.fontColor(getContext(), false); backupNow.setBackgroundColor(primaryColor); backupNow.setTextColor(fontColor); From 643454c1d75726c5c1166fe51bddecfd68d0d74c Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Mon, 22 Jun 2020 17:41:27 +0200 Subject: [PATCH 2/9] proper coloring of drawer items in black/white edge case scenarios Signed-off-by: Andy Scherzinger --- .../android/ui/activity/DrawerActivity.java | 2 +- .../owncloud/android/utils/ThemeUtils.java | 30 +++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java b/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java index b176c4e4542d..fd1746a5f690 100644 --- a/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java @@ -703,7 +703,7 @@ protected void setDrawerMenuItemChecked(int menuItemId) { mCheckedMenuItem = menuItemId; MenuItem currentItem = mNavigationView.getMenu().findItem(menuItemId); int drawerColor = getResources().getColor(R.color.drawer_text_color); - int activeColor = ThemeUtils.elementColor(this); + int activeColor = ThemeUtils.primaryColor(null, true, true, this); currentItem.setChecked(true); diff --git a/src/main/java/com/owncloud/android/utils/ThemeUtils.java b/src/main/java/com/owncloud/android/utils/ThemeUtils.java index 0c4e49cc037d..217c427fd6d2 100644 --- a/src/main/java/com/owncloud/android/utils/ThemeUtils.java +++ b/src/main/java/com/owncloud/android/utils/ThemeUtils.java @@ -133,6 +133,24 @@ public static int primaryColor(Context context, boolean replaceEdgeColors) { } public static int primaryColor(Account account, boolean replaceEdgeColors, Context context) { + return primaryColor(account, replaceEdgeColors, false, context); + } + + /** + * return the primary color defined in the server-side theming respecting Android dark/light theming and edge case + * scenarios including drawer menu. + * + * @param account the Nextcloud user + * @param replaceEdgeColors flag if edge case color scenarios should be handled + * @param replaceEdgeColorsByInvertedColor flag in edge case handling should be done via color inversion + * (black/white) + * @param context the context (needed to load client-side colors) + * @return the color + */ + public static int primaryColor(Account account, + boolean replaceEdgeColors, + boolean replaceEdgeColorsByInvertedColor, + Context context) { if (context == null) { return Color.GRAY; } @@ -142,13 +160,21 @@ public static int primaryColor(Account account, boolean replaceEdgeColors, Conte if (replaceEdgeColors) { if (isDarkModeActive(context)) { if (Color.BLACK == color) { - return getNeutralGrey(context); + if (replaceEdgeColorsByInvertedColor) { + return Color.WHITE; + } else { + return getNeutralGrey(context); + } } else { return color; } } else { if (Color.WHITE == color) { - return getNeutralGrey(context); + if (replaceEdgeColorsByInvertedColor) { + return Color.BLACK; + } else { + return getNeutralGrey(context); + } } else { return color; } From 7005cdef2e30f4e09bd66ed0c89859c780990701 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Tue, 23 Jun 2020 11:10:43 +0200 Subject: [PATCH 3/9] Introduce light/dark theme / black/white primary-color-aware primary-button theming Signed-off-by: Andy Scherzinger --- .../android/ui/activity/CommunityActivity.java | 3 +-- .../com/owncloud/android/utils/ThemeUtils.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/owncloud/android/ui/activity/CommunityActivity.java b/src/main/java/com/owncloud/android/ui/activity/CommunityActivity.java index 4a439a15fdc9..ca6f926b6149 100644 --- a/src/main/java/com/owncloud/android/ui/activity/CommunityActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/CommunityActivity.java @@ -92,8 +92,7 @@ private void setupContent() { getString(R.string.contributing_link))))); MaterialButton reportButton = findViewById(R.id.community_testing_report); - reportButton.setBackgroundColor(ThemeUtils.primaryColor(this,true)); - reportButton.setTextColor(ThemeUtils.fontColor(this, false)); + ThemeUtils.colorPrimaryButton(reportButton, this); reportButton.setOnClickListener(v -> DisplayUtils.startLinkIntent(this, R.string.report_issue_link)); } diff --git a/src/main/java/com/owncloud/android/utils/ThemeUtils.java b/src/main/java/com/owncloud/android/utils/ThemeUtils.java index 217c427fd6d2..64c602b2eaa8 100644 --- a/src/main/java/com/owncloud/android/utils/ThemeUtils.java +++ b/src/main/java/com/owncloud/android/utils/ThemeUtils.java @@ -38,6 +38,7 @@ import android.view.MenuItem; import android.view.View; import android.view.Window; +import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ImageView; @@ -435,6 +436,21 @@ private static float[] colorToHSL(int color) { return hsl; } + public static void colorPrimaryButton(Button button, Context context) { + int primaryColor = ThemeUtils.primaryColor(null, true, false, context); + int fontColor = ThemeUtils.fontColor(context, false); + + button.setBackgroundColor(primaryColor); + + if (Color.BLACK == primaryColor) { + button.setTextColor(Color.WHITE); + } else if (Color.WHITE == primaryColor) { + button.setTextColor(Color.BLACK); + } else { + button.setTextColor(fontColor); + } + } + /** * sets the tinting of the given ImageButton's icon to color_accent. * From 5b76892ab1690ae9d287b2d7369a11344fa78ad2 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Tue, 23 Jun 2020 14:39:55 +0200 Subject: [PATCH 4/9] move primary action button theming to new theming method Signed-off-by: Andy Scherzinger --- .../android/ui/activity/FolderPickerActivity.java | 11 ++++++----- .../android/ui/activity/PassCodeActivity.java | 2 +- .../ui/activity/ReceiveExternalFilesActivity.java | 10 +++------- .../android/ui/activity/SyncedFoldersActivity.java | 3 +-- .../android/ui/activity/UploadFilesActivity.java | 4 +--- .../android/ui/adapter/NotificationListAdapter.java | 3 +-- .../contactsbackup/ContactsBackupFragment.java | 10 ++-------- 7 files changed, 15 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.java b/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.java index f7a07cbac284..80bcb6f4a63a 100644 --- a/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.java @@ -25,9 +25,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; -import android.content.res.ColorStateList; import android.content.res.Resources.NotFoundException; -import android.graphics.PorterDuff; import android.os.Bundle; import android.os.Parcelable; import android.util.Log; @@ -401,13 +399,16 @@ private void initControls() { mChooseBtn = findViewById(R.id.folder_picker_btn_choose); if (mChooseBtn != null) { - mChooseBtn.setBackgroundTintMode(PorterDuff.Mode.SRC_ATOP); - mChooseBtn.setBackgroundTintList(ColorStateList.valueOf(ThemeUtils.primaryColor(this, true))); + ThemeUtils.colorPrimaryButton(mChooseBtn, this); mChooseBtn.setOnClickListener(this); } if (mCancelBtn != null) { - mCancelBtn.setTextColor(ThemeUtils.primaryColor(this, true)); + if (this instanceof FilePickerActivity) { + ThemeUtils.colorPrimaryButton(mCancelBtn, this); + } else { + mCancelBtn.setTextColor(ThemeUtils.primaryColor(this, true)); + } mCancelBtn.setOnClickListener(this); } } diff --git a/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java b/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java index c50251da1cc8..aa98d0fc277b 100644 --- a/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java @@ -98,7 +98,7 @@ protected void onCreate(Bundle savedInstanceState) { int elementColor = ThemeUtils.elementColor(this); mBCancel = findViewById(R.id.cancel); - mBCancel.setBackgroundColor(ThemeUtils.primaryColor(this)); + ThemeUtils.colorPrimaryButton(mBCancel, this); mPassCodeHdr = findViewById(R.id.header); mPassCodeHdrExplanation = findViewById(R.id.explanation); diff --git a/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java b/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java index 750a3980113f..f908ac47b856 100755 --- a/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java @@ -765,19 +765,15 @@ private void populateDirectoryList() { mListView.setAdapter(sa); } MaterialButton btnChooseFolder = findViewById(R.id.uploader_choose_folder); - btnChooseFolder.setBackgroundTintMode(PorterDuff.Mode.SRC_ATOP); - btnChooseFolder.setBackgroundTintList(ColorStateList.valueOf(ThemeUtils.primaryColor(this, true))); + ThemeUtils.colorPrimaryButton(btnChooseFolder, this); btnChooseFolder.setOnClickListener(this); - btnChooseFolder.setTextColor(ThemeUtils.fontColor(this)); if (mFile.canWrite()) { btnChooseFolder.setEnabled(true); - btnChooseFolder.setBackgroundTintList(ColorStateList.valueOf(ThemeUtils.primaryColor(getAccount(), - true, - this))); + ThemeUtils.colorPrimaryButton(btnChooseFolder, this); } else { btnChooseFolder.setEnabled(false); - btnChooseFolder.setBackgroundTintList(ColorStateList.valueOf(Color.GRAY)); + btnChooseFolder.setBackgroundColor(Color.GRAY); } ThemeUtils.colorStatusBar(this); 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 33e2c9fbb290..2f7377e49f3f 100644 --- a/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.java @@ -243,8 +243,7 @@ private void setupContent() { adapter = new SyncedFolderAdapter(this, clock, gridWidth, this, lightVersion); syncedFolderProvider = new SyncedFolderProvider(getContentResolver(), preferences, clock); emptyContentIcon.setImageResource(R.drawable.nav_synced_folders); - emptyContentActionButton.setBackgroundColor(ThemeUtils.primaryColor(this)); - emptyContentActionButton.setTextColor(ThemeUtils.fontColor(this)); + ThemeUtils.colorPrimaryButton(emptyContentActionButton, this); final GridLayoutManager lm = new GridLayoutManager(this, gridWidth); adapter.setLayoutManager(lm); diff --git a/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java b/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java index 4ce8367f9160..aa00757e3f40 100644 --- a/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java @@ -178,9 +178,7 @@ public void onCreate(Bundle savedInstanceState) { cancelButton.setOnClickListener(this); MaterialButton uploadButton = findViewById(R.id.upload_files_btn_upload); - uploadButton.setBackgroundTintMode(PorterDuff.Mode.SRC_ATOP); - uploadButton.setBackgroundTintList(ColorStateList.valueOf(ThemeUtils.primaryColor(this, true))); - uploadButton.setTextColor(ThemeUtils.fontColor(this, false)); + ThemeUtils.colorPrimaryButton(uploadButton, this); uploadButton.setOnClickListener(this); sortButton = findViewById(R.id.sort_button); diff --git a/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java b/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java index 500a9f775138..8a5eb7b8f58e 100644 --- a/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java +++ b/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java @@ -163,8 +163,7 @@ public void setButtons(NotificationViewHolder holder, Notification notification) int primaryColor = ThemeUtils.primaryColor(notificationsActivity); if (action.primary) { - button.setBackgroundColor(primaryColor); - button.setTextColor(ThemeUtils.fontColor(notificationsActivity)); + ThemeUtils.colorPrimaryButton(button, notificationsActivity); button.setTypeface(button.getTypeface(), Typeface.BOLD); } else { button.setBackgroundColor(resources.getColor(R.color.grey_200)); diff --git a/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java b/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java index 1e4175e859dc..fc88dca1c2ff 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/ContactsBackupFragment.java @@ -184,14 +184,8 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { calendarPickerOpen = true; } - int primaryColor = ThemeUtils.primaryColor(getContext(), true); - int fontColor = ThemeUtils.fontColor(getContext(), false); - - backupNow.setBackgroundColor(primaryColor); - backupNow.setTextColor(fontColor); - - contactsDatePickerBtn.setBackgroundColor(primaryColor); - contactsDatePickerBtn.setTextColor(fontColor); + ThemeUtils.colorPrimaryButton(backupNow, getContext()); + ThemeUtils.colorPrimaryButton(contactsDatePickerBtn, getContext()); return view; } From a7088c8c87cadceb4fe353a8090f299fb06d1f41 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Wed, 24 Jun 2020 22:09:31 +0200 Subject: [PATCH 5/9] improve edge case FAB coloring Signed-off-by: Andy Scherzinger --- .../ui/fragment/OCFileListFragment.java | 10 ++--- .../ui/preview/PreviewTextStringFragment.java | 3 +- .../owncloud/android/utils/ThemeUtils.java | 40 ++++++++++++++++--- 3 files changed, 40 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java b/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java index 68107a62e85c..935083d1ee9d 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java @@ -293,8 +293,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, mFabMain = requireActivity().findViewById(R.id.fab_main); if (mFabMain != null) { // is not available in FolderPickerActivity - ThemeUtils.tintFloatingActionButton(mFabMain, requireContext()); - ThemeUtils.drawableFloatingActionButton(mFabMain, R.drawable.ic_plus, requireContext()); + ThemeUtils.colorFloatingActionButton(mFabMain, R.drawable.ic_plus, requireContext()); } Log_OC.i(TAG, "onCreateView() end"); @@ -1770,7 +1769,7 @@ void setFabVisible(final boolean visible) { getActivity().runOnUiThread(() -> { if (visible) { mFabMain.show(); - ThemeUtils.tintFloatingActionButton(mFabMain, requireContext()); + ThemeUtils.colorFloatingActionButton(mFabMain, requireContext()); } else { mFabMain.hide(); } @@ -1820,11 +1819,10 @@ public void setFabEnabled(final boolean enabled) { getActivity().runOnUiThread(() -> { if (enabled) { mFabMain.setEnabled(true); - ThemeUtils.tintFloatingActionButton(mFabMain, requireContext()); + ThemeUtils.colorFloatingActionButton(mFabMain, requireContext()); } else { mFabMain.setEnabled(false); - mFabMain.setBackgroundTintList(ColorStateList.valueOf(Color.GRAY)); - mFabMain.setRippleColor(Color.GRAY); + ThemeUtils.colorFloatingActionButton(mFabMain, requireContext(), Color.GRAY); } }); } diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewTextStringFragment.java b/src/main/java/com/owncloud/android/ui/preview/PreviewTextStringFragment.java index b723c7ce931f..0cbecd867dfe 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewTextStringFragment.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewTextStringFragment.java @@ -113,8 +113,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, fabMain.setVisibility(View.VISIBLE); fabMain.setEnabled(true); fabMain.setOnClickListener(v -> edit()); - ThemeUtils.tintFloatingActionButton(fabMain, requireContext()); - ThemeUtils.drawableFloatingActionButton(fabMain, R.drawable.ic_edit, requireContext()); + ThemeUtils.colorFloatingActionButton(fabMain, R.drawable.ic_edit, requireContext()); } return view; diff --git a/src/main/java/com/owncloud/android/utils/ThemeUtils.java b/src/main/java/com/owncloud/android/utils/ThemeUtils.java index 64c602b2eaa8..33a6d25af330 100644 --- a/src/main/java/com/owncloud/android/utils/ThemeUtils.java +++ b/src/main/java/com/owncloud/android/utils/ThemeUtils.java @@ -119,7 +119,15 @@ public static int primaryDarkColor(Account account, Context context) { OCCapability capability = getCapability(account, context); try { - return adjustLightness(-0.2f, Color.parseColor(capability.getServerColor()), -1f); + return calculateDarkColor(Color.parseColor(capability.getServerColor()), context); + } catch (Exception e) { + return context.getResources().getColor(R.color.primary_dark); + } + } + + public static int calculateDarkColor(int color, Context context){ + try { + return adjustLightness(-0.2f, color, -1f); } catch (Exception e) { return context.getResources().getColor(R.color.primary_dark); } @@ -722,14 +730,36 @@ public static String colorToHexString(int color) { return String.format("#%06X", 0xFFFFFF & color); } - public static void tintFloatingActionButton(FloatingActionButton button, Context context) { - button.setBackgroundTintList(ColorStateList.valueOf(ThemeUtils.primaryColor(context))); - button.setRippleColor(ThemeUtils.primaryDarkColor(context)); + public static void colorFloatingActionButton(FloatingActionButton button, @DrawableRes int drawable, + Context context) { + int primaryColor = ThemeUtils.primaryColor(null, true, false, context); + colorFloatingActionButton(button, context, primaryColor); + + if (Color.BLACK == primaryColor) { + button.setImageDrawable(ThemeUtils.tintDrawable(drawable, Color.WHITE)); + } else if (Color.WHITE == primaryColor) { + button.setImageDrawable(ThemeUtils.tintDrawable(drawable, Color.BLACK)); + } else { + button.setImageDrawable(ThemeUtils.tintDrawable(drawable, ThemeUtils.fontColor(context, false))); + } + } + + public static void colorFloatingActionButton(FloatingActionButton button, Context context) { + colorFloatingActionButton(button, context, ThemeUtils.primaryColor(null, true, false, context)); + } + + public static void colorFloatingActionButton(FloatingActionButton button, Context context, int primaryColor) { + colorFloatingActionButton(button, primaryColor, calculateDarkColor(primaryColor, context)); + } + + public static void colorFloatingActionButton(FloatingActionButton button, int backgroundColor, int rippleColor) { + button.setBackgroundTintList(ColorStateList.valueOf(backgroundColor)); + button.setRippleColor(rippleColor); } public static void drawableFloatingActionButton(FloatingActionButton button, @DrawableRes int drawable, Context context) { - button.setImageDrawable(ThemeUtils.tintDrawable(drawable, ThemeUtils.fontColor(context))); + int primaryColor = ThemeUtils.primaryColor(null, true, false, context); } private static OCCapability getCapability(Context context) { From 8af257d54f492c1f2ddf57466a80d7d6dce430ef Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Wed, 24 Jun 2020 23:26:28 +0200 Subject: [PATCH 6/9] remove unused method Signed-off-by: Andy Scherzinger --- src/main/java/com/owncloud/android/utils/ThemeUtils.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/com/owncloud/android/utils/ThemeUtils.java b/src/main/java/com/owncloud/android/utils/ThemeUtils.java index 33a6d25af330..1e67b20f958f 100644 --- a/src/main/java/com/owncloud/android/utils/ThemeUtils.java +++ b/src/main/java/com/owncloud/android/utils/ThemeUtils.java @@ -757,11 +757,6 @@ public static void colorFloatingActionButton(FloatingActionButton button, int ba button.setRippleColor(rippleColor); } - public static void drawableFloatingActionButton(FloatingActionButton button, @DrawableRes int - drawable, Context context) { - int primaryColor = ThemeUtils.primaryColor(null, true, false, context); - } - private static OCCapability getCapability(Context context) { return getCapability(null, context); } From 0ad81bdd29a4f6228526379357de62f7e3560644 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Wed, 24 Jun 2020 23:41:07 +0200 Subject: [PATCH 7/9] remove element color references Signed-off-by: Andy Scherzinger --- .../android/ui/activity/PassCodeActivity.java | 2 +- .../android/ui/dialog/SendShareDialog.java | 2 +- .../ui/dialog/SortingOrderDialogFragment.java | 2 +- .../owncloud/android/utils/MimeTypeUtil.java | 2 +- .../owncloud/android/utils/ThemeUtils.java | 51 ++----------------- src/main/res/values-night/colors.xml | 1 - src/main/res/values/colors.xml | 1 - 7 files changed, 7 insertions(+), 54 deletions(-) diff --git a/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java b/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java index aa98d0fc277b..5f0640926f49 100644 --- a/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java @@ -95,7 +95,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.passcodelock); - int elementColor = ThemeUtils.elementColor(this); + int elementColor = ThemeUtils.primaryColor(this); mBCancel = findViewById(R.id.cancel); ThemeUtils.colorPrimaryButton(mBCancel, this); diff --git a/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.java b/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.java index 58d66163d4fa..5f75aaecd05b 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SendShareDialog.java @@ -194,7 +194,7 @@ private void requestPasswordForShareViaLink() { } private void themeShareButtonImage(ImageView shareImageView) { - shareImageView.getBackground().setColorFilter(ThemeUtils.elementColor(getContext()), PorterDuff.Mode.SRC_IN); + shareImageView.getBackground().setColorFilter(ThemeUtils.primaryColor(getContext()), PorterDuff.Mode.SRC_IN); shareImageView.getDrawable().mutate().setColorFilter(ThemeUtils.fontColor(getContext()), PorterDuff.Mode.SRC_IN); } diff --git a/src/main/java/com/owncloud/android/ui/dialog/SortingOrderDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SortingOrderDialogFragment.java index 3d4467eb2e73..4c2d957cefa0 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SortingOrderDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SortingOrderDialogFragment.java @@ -130,7 +130,7 @@ private void setupDialogElements(View view) { * tints the icon reflecting the actual sorting choice in the apps primary color. */ private void setupActiveOrderSelection() { - final int color = ThemeUtils.elementColor(getContext()); + final int color = ThemeUtils.primaryColor(null, true, true, getContext()); for (View view: mTaggedViews) { if (!((FileSortOrder) view.getTag()).name.equals(mCurrentSortOrderName)) { continue; diff --git a/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java b/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java index 8441b01176b6..e683ef353917 100644 --- a/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java +++ b/src/main/java/com/owncloud/android/utils/MimeTypeUtil.java @@ -177,7 +177,7 @@ public static Drawable getFolderTypeIcon(boolean isSharedViaUsers, boolean isSha drawableId = R.drawable.folder; } - return ThemeUtils.tintDrawable(drawableId, ThemeUtils.elementColor(account, context, true)); + return ThemeUtils.tintDrawable(drawableId, ThemeUtils.primaryColor(account, true, context)); } public static Drawable getDefaultFolderIcon(Context context) { diff --git a/src/main/java/com/owncloud/android/utils/ThemeUtils.java b/src/main/java/com/owncloud/android/utils/ThemeUtils.java index 1e67b20f958f..4990c5bb7d7f 100644 --- a/src/main/java/com/owncloud/android/utils/ThemeUtils.java +++ b/src/main/java/com/owncloud/android/utils/ThemeUtils.java @@ -200,51 +200,6 @@ public static int getNeutralGrey(Context context) { return darkTheme(context) ? context.getResources().getColor(R.color.fg_contrast) : Color.GRAY; } - public static int elementColor(Context context) { - return elementColor(null, context, false); - } - - @NextcloudServer(max = 12) - public static int elementColor(Account account, Context context, boolean replaceEdgeColors) { - OCCapability capability = getCapability(account, context); - - try { - return Color.parseColor(capability.getServerElementColor()); - } catch (Exception e) { - int color; - - try { - color = Color.parseColor(capability.getServerColor()); - } catch (Exception e1) { - color = context.getResources().getColor(R.color.primary); - } - - if (replaceEdgeColors) { - if (isDarkModeActive(context)) { - if (Color.BLACK == color) { - return getNeutralGrey(context); - } else { - return color; - } - } else { - if (Color.WHITE == color) { - return getNeutralGrey(context); - } else { - return color; - } - } - } else { - float[] hsl = colorToHSL(color); - - if (hsl[INDEX_LUMINATION] > LUMINATION_THRESHOLD) { - return context.getResources().getColor(R.color.element_fallback_color); - } else { - return color; - } - } - } - } - public static boolean themingEnabled(Context context) { return getCapability(context).getServerColor() != null && !getCapability(context).getServerColor().isEmpty(); } @@ -470,10 +425,10 @@ public static void colorImageButton(ImageButton imageButton, @ColorInt int color } } - public static void colorEditText(EditText editText, int elementColor) { + public static void colorEditText(EditText editText, int color) { if (editText != null) { - editText.setTextColor(elementColor); - editText.getBackground().setColorFilter(elementColor, PorterDuff.Mode.SRC_ATOP); + editText.setTextColor(color); + editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_ATOP); } } diff --git a/src/main/res/values-night/colors.xml b/src/main/res/values-night/colors.xml index 40153225b358..f67232c0aa7d 100644 --- a/src/main/res/values-night/colors.xml +++ b/src/main/res/values-night/colors.xml @@ -43,7 +43,6 @@ #2a2a2a #B3FFFFFF @color/white - #EDEDED #1E1E1E diff --git a/src/main/res/values/colors.xml b/src/main/res/values/colors.xml index b9234e8b88f8..cec938ba9af5 100644 --- a/src/main/res/values/colors.xml +++ b/src/main/res/values/colors.xml @@ -37,7 +37,6 @@ #757575 - #555555 #EEEEEE #dbdbdb #222222 From 5f73a5ec752b8fa78417e712f0e41822dd190286 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Thu, 25 Jun 2020 13:33:23 +0200 Subject: [PATCH 8/9] update screenshots Signed-off-by: Andy Scherzinger --- ...lient.FileDisplayActivityIT_showShares.png | Bin 21639 -> 21683 bytes ...activity.ManageAccountsActivityIT_open.png | Bin 11656 -> 11533 bytes ...stFragmentIT_createAndShowShareViaLink.png | Bin 13398 -> 13452 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_showShares.png b/screenshots/gplay/debug/com.nextcloud.client.FileDisplayActivityIT_showShares.png index 3fcfc0c7486a8e3e5728f27c345f376f696590c9..9e218692fad98079f83ef98982d544309d1c2ed8 100644 GIT binary patch literal 21683 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 literal 21639 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 diff --git a/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareViaLink.png b/screenshots/gplay/debug/com.owncloud.android.ui.fragment.OCFileListFragmentIT_createAndShowShareViaLink.png index 9904bfd08d3a024ce3da69587cd118a8e55696f1..afd2879e1682816d7dc41522ca1683439e43c08b 100644 GIT binary patch literal 13452 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 HH}3u)^>RH~ literal 13398 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 From 79f4270bb9de818495e8b0d48e1b419b2cdf15e6 Mon Sep 17 00:00:00 2001 From: nextcloud-android-bot Date: Fri, 26 Jun 2020 13:35:51 +0000 Subject: [PATCH 9/9] Drone: update FindBugs results to reflect reduced error/warning count [skip ci] Signed-off-by: nextcloud-android-bot --- scripts/analysis/findbugs-results.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/analysis/findbugs-results.txt b/scripts/analysis/findbugs-results.txt index 91a3d4243df1..832f62a3cbee 100644 --- a/scripts/analysis/findbugs-results.txt +++ b/scripts/analysis/findbugs-results.txt @@ -1 +1 @@ -340 \ No newline at end of file +339 \ No newline at end of file