From 94d740dd3d2f0d4e39b135a11c3e1e0704de2e53 Mon Sep 17 00:00:00 2001 From: Stefan Niedermann Date: Sat, 27 Jun 2020 18:25:22 +0200 Subject: #525 Adjust design to new style of Nextcloud app --- .../it/niedermann/nextcloud/deck/Application.java | 19 +----- .../niedermann/nextcloud/deck/ui/MainActivity.java | 27 ++++---- .../deck/ui/PushNotificationActivity.java | 17 ++---- .../nextcloud/deck/ui/about/AboutActivity.java | 6 +- .../deck/ui/about/AboutFragmentLicenseTab.java | 4 +- .../ui/accountswitcher/AccountSwitcherDialog.java | 2 +- .../ui/archivedboards/ArchivedBoardsActvitiy.java | 4 +- .../ui/archivedcards/ArchivedCardsActvitiy.java | 4 +- .../deck/ui/board/EditBoardDialogFragment.java | 4 +- .../board/accesscontrol/AccessControlAdapter.java | 2 +- .../accesscontrol/AccessControlDialogFragment.java | 6 +- .../managelabels/EditLabelDialogFragment.java | 4 +- .../ui/board/managelabels/ManageLabelsAdapter.java | 2 +- .../managelabels/ManageLabelsDialogFragment.java | 6 +- .../nextcloud/deck/ui/branding/Branded.java | 2 +- .../deck/ui/branding/BrandedActivity.java | 71 +++++++--------------- .../ui/branding/BrandedAlertDialogBuilder.java | 7 +-- .../deck/ui/branding/BrandedDatePickerDialog.java | 9 +-- .../branding/BrandedDeleteAlertDialogBuilder.java | 4 +- .../deck/ui/branding/BrandedDialogFragment.java | 3 +- .../deck/ui/branding/BrandedFragment.java | 3 +- .../deck/ui/branding/BrandedSwitchPreference.java | 12 +--- .../deck/ui/branding/BrandedTimePickerDialog.java | 9 +-- .../nextcloud/deck/ui/card/CardAdapter.java | 2 +- .../nextcloud/deck/ui/card/EditActivity.java | 12 ++-- .../card/attachments/CardAttachmentsFragment.java | 4 +- .../comments/CardCommentsEditDialogFragment.java | 4 +- .../ui/card/comments/CardCommentsFragment.java | 6 +- .../deck/ui/card/details/CardDetailsFragment.java | 12 ++-- .../deck/ui/filter/FilterDialogFragment.java | 2 +- .../ui/manageaccounts/ManageAccountsActivity.java | 8 +-- .../ui/preparecreate/PrepareCreateActivity.java | 10 +-- .../deck/ui/settings/SettingsActivity.java | 4 +- .../deck/ui/settings/SettingsFragment.java | 11 ++-- .../sharetarget/ShareProgressDialogFragment.java | 2 +- .../deck/ui/stack/EditStackDialogFragment.java | 4 +- .../nextcloud/deck/ui/stack/StackFragment.java | 4 +- 37 files changed, 122 insertions(+), 190 deletions(-) (limited to 'app/src/main/java') diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/Application.java b/app/src/main/java/it/niedermann/nextcloud/deck/Application.java index 6fbf7c8a2..5270ebb34 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/Application.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/Application.java @@ -2,7 +2,6 @@ package it.niedermann.nextcloud.deck; import android.content.Context; import android.content.SharedPreferences; -import android.graphics.Color; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; @@ -73,28 +72,14 @@ public class Application extends android.app.Application { } } - @ColorInt - public static int readBrandTextColor(@NonNull Context context) { - if (isBrandingEnabled(context)) { - SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()); - DeckLog.log("--- Read: shared_preference_theme_text"); - return sharedPreferences.getInt(context.getString(R.string.shared_preference_theme_text), context.getApplicationContext().getResources().getColor(android.R.color.white)); - } else { - return Color.WHITE; - } - } - - public static void saveBrandColors(@NonNull Context context, @ColorInt int mainColor, @ColorInt int textColor) { + public static void saveBrandColors(@NonNull Context context, @ColorInt int mainColor) { if (isBrandingEnabled(context) && context instanceof BrandedActivity) { final BrandedActivity activity = (BrandedActivity) context; - activity.applyBrand(mainColor, textColor); - BrandedActivity.applyBrandToStatusbar(activity.getWindow(), mainColor, textColor); + activity.applyBrand(mainColor); } SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit(); DeckLog.log("--- Write: shared_preference_theme_main" + " | " + mainColor); - DeckLog.log("--- Write: shared_preference_theme_text" + " | " + textColor); editor.putInt(context.getString(R.string.shared_preference_theme_main), mainColor); - editor.putInt(context.getString(R.string.shared_preference_theme_text), textColor); editor.apply(); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java index 84b7f8d3b..20c93e336 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java @@ -95,6 +95,7 @@ import it.niedermann.nextcloud.deck.ui.stack.EditStackListener; import it.niedermann.nextcloud.deck.ui.stack.OnScrollListener; import it.niedermann.nextcloud.deck.ui.stack.StackAdapter; import it.niedermann.nextcloud.deck.ui.stack.StackFragment; +import it.niedermann.nextcloud.deck.util.ColorUtil; import it.niedermann.nextcloud.deck.util.DrawerMenuUtil; import static android.graphics.Color.parseColor; @@ -120,6 +121,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener protected static final int ACTIVITY_SETTINGS = 2; public static final int ACTIVITY_MANAGE_ACCOUNTS = 4; + private ActionBarDrawerToggle toggle; @NonNull protected List accountsList = new ArrayList<>(); protected SyncManager syncManager; @@ -173,7 +175,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener setSupportActionBar(binding.toolbar); - final ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, binding.drawerLayout, binding.toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); + toggle = new ActionBarDrawerToggle(this, binding.drawerLayout, binding.toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); binding.drawerLayout.addDrawerListener(toggle); toggle.syncState(); @@ -191,7 +193,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener }).observe(this, (List accounts) -> { if (accounts == null || accounts.size() == 0) { // Last account has been deleted. hasAccounts LiveData will handle this, but we make sure, that branding is reset. - Application.saveBrandColors(this, getResources().getColor(R.color.primary), Color.WHITE); + Application.saveBrandColors(this, getResources().getColor(R.color.primary)); return; } @@ -229,7 +231,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener SingleAccountHelper.setCurrentAccount(getApplicationContext(), mainViewModel.getCurrentAccount().getName()); syncManager = new SyncManager(this); - Application.saveBrandColors(this, parseColor(mainViewModel.getCurrentAccount().getColor()), parseColor(mainViewModel.getCurrentAccount().getTextColor())); + Application.saveBrandColors(this, parseColor(mainViewModel.getCurrentAccount().getColor())); Application.saveCurrentAccountId(this, mainViewModel.getCurrentAccount().getId()); if (mainViewModel.getCurrentAccount().isMaintenanceEnabled()) { refreshCapabilities(mainViewModel.getCurrentAccount()); @@ -411,10 +413,12 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener } @Override - public void applyBrand(@ColorInt int mainColor, @ColorInt int textColor) { - applyBrandToPrimaryToolbar(mainColor, textColor, binding.toolbar); - applyBrandToPrimaryTabLayout(mainColor, textColor, binding.stackTitles); - applyBrandToFAB(mainColor, textColor, binding.fab); + public void applyBrand(@ColorInt int mainColor) { + applyBrandToPrimaryToolbar(mainColor, binding.toolbar); + applyBrandToPrimaryTabLayout(mainColor, binding.stackTitles); + applyBrandToFAB(mainColor, binding.fab); + + // Is null as soon as the avatar has been set // @Nullable @@ -422,12 +426,10 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener // if (accountSwitcherDrawable != null) { // DrawableCompat.setTint(accountSwitcherDrawable, textColor); // } - - binding.listMenuButton.setBackgroundColor(mainColor); - binding.listMenuButton.setColorFilter(textColor); + DrawableCompat.setTint(headerBinding.logo.getDrawable(), ColorUtil.contrastRatioIsSufficient(mainColor, Color.WHITE) ? Color.WHITE : Color.BLACK); headerBinding.headerView.setBackgroundColor(mainColor); - headerBinding.appName.setTextColor(textColor); + headerBinding.appName.setTextColor(ColorUtil.contrastRatioIsSufficient(mainColor, Color.WHITE) ? Color.WHITE : Color.BLACK); } @Override @@ -523,8 +525,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener recreate(); } @ColorInt final int mainColor = parseColor(response.getColor()); - @ColorInt final int textColor = parseColor(response.getTextColor()); - runOnUiThread(() -> Application.saveBrandColors(MainActivity.this, mainColor, textColor)); + runOnUiThread(() -> Application.saveBrandColors(MainActivity.this, mainColor)); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java index f3d462c90..4bf96b7aa 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java @@ -9,7 +9,6 @@ import android.view.View; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.annotation.UiThread; -import androidx.appcompat.app.AppCompatActivity; import com.nextcloud.android.sso.helper.SingleAccountHelper; @@ -19,17 +18,14 @@ import it.niedermann.nextcloud.deck.R; import it.niedermann.nextcloud.deck.databinding.ActivityPushNotificationBinding; import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.persistence.sync.SyncManager; -import it.niedermann.nextcloud.deck.ui.branding.Branded; +import it.niedermann.nextcloud.deck.ui.branding.BrandedActivity; import it.niedermann.nextcloud.deck.ui.card.EditActivity; import it.niedermann.nextcloud.deck.ui.exception.ExceptionHandler; import static android.graphics.Color.parseColor; import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce; -import static it.niedermann.nextcloud.deck.ui.branding.BrandedActivity.applyBrandToPrimaryToolbar; -import static it.niedermann.nextcloud.deck.ui.branding.BrandedActivity.applyBrandToStatusbar; -import static it.niedermann.nextcloud.deck.ui.branding.BrandedActivity.getSecondaryForegroundColorDependingOnTheme; -public class PushNotificationActivity extends AppCompatActivity implements Branded { +public class PushNotificationActivity extends BrandedActivity { private ActivityPushNotificationBinding binding; @@ -84,7 +80,7 @@ public class PushNotificationActivity extends AppCompatActivity implements Brand final SyncManager syncManager = new SyncManager(this); try { if (brandingEnabled) { - applyBrand(parseColor(account.getColor()), parseColor(account.getTextColor())); + applyBrand(parseColor(account.getColor())); } } catch (Throwable t) { DeckLog.logError(t); @@ -154,7 +150,7 @@ public class PushNotificationActivity extends AppCompatActivity implements Brand @UiThread private void launchEditActivity(@NonNull Account account, Long boardId, Long cardId) { try { - Application.saveBrandColors(this, Color.parseColor(account.getColor()), Color.parseColor(account.getTextColor())); + Application.saveBrandColors(this, Color.parseColor(account.getColor())); } catch (Throwable t) { DeckLog.logError(t); } @@ -170,10 +166,9 @@ public class PushNotificationActivity extends AppCompatActivity implements Brand } @Override - public void applyBrand(@ColorInt int mainColor, @ColorInt int textColor) { + public void applyBrand(@ColorInt int mainColor) { if (brandingEnabled) { - applyBrandToStatusbar(getWindow(), mainColor, textColor); - applyBrandToPrimaryToolbar(mainColor, textColor, binding.toolbar); + applyBrandToPrimaryToolbar(mainColor, binding.toolbar); binding.cancel.setTextColor(getSecondaryForegroundColorDependingOnTheme(this, mainColor)); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutActivity.java index 943e48bd6..d81b2a868 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutActivity.java @@ -82,9 +82,9 @@ public class AboutActivity extends BrandedActivity { } @Override - public void applyBrand(int mainColor, int textColor) { - applyBrandToPrimaryToolbar(mainColor, textColor, binding.toolbar); - applyBrandToPrimaryTabLayout(mainColor, textColor, binding.tabLayout); + public void applyBrand(int mainColor) { + applyBrandToPrimaryToolbar(mainColor, binding.toolbar); + applyBrandToPrimaryTabLayout(mainColor, binding.tabLayout); } @NonNull diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentLicenseTab.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentLicenseTab.java index f33b30ea3..eab8ad01a 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentLicenseTab.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentLicenseTab.java @@ -29,8 +29,8 @@ public class AboutFragmentLicenseTab extends BrandedFragment { } @Override - public void applyBrand(int mainColor, int textColor) { + public void applyBrand(int mainColor) { binding.aboutAppLicenseButton.setBackgroundColor(mainColor); - binding.aboutAppLicenseButton.setTextColor(textColor); + binding.aboutAppLicenseButton.setTextColor(mainColor); } } \ No newline at end of file diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java index bae4720b9..5353f6f4a 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java @@ -97,7 +97,7 @@ public class AccountSwitcherDialog extends BrandedDialogFragment { } @Override - public void applyBrand(int mainColor, int textColor) { + public void applyBrand(int mainColor) { // applyBrandToLayerDrawable((LayerDrawable) binding.check.getDrawable(), R.id.area, mainColor); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java index 07ca40661..be9725866 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java @@ -67,8 +67,8 @@ public class ArchivedBoardsActvitiy extends BrandedActivity implements DeleteBoa } @Override - public void applyBrand(int mainColor, int textColor) { - applyBrandToPrimaryToolbar(mainColor, textColor, binding.toolbar); + public void applyBrand(int mainColor) { + applyBrandToPrimaryToolbar(mainColor, binding.toolbar); } @NonNull diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedcards/ArchivedCardsActvitiy.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedcards/ArchivedCardsActvitiy.java index 00500ae97..363b688ee 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedcards/ArchivedCardsActvitiy.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedcards/ArchivedCardsActvitiy.java @@ -65,8 +65,8 @@ public class ArchivedCardsActvitiy extends BrandedActivity { } @Override - public void applyBrand(int mainColor, int textColor) { - applyBrandToPrimaryToolbar(mainColor, textColor, binding.toolbar); + public void applyBrand(int mainColor) { + applyBrandToPrimaryToolbar(mainColor, binding.toolbar); } @NonNull diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/EditBoardDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/EditBoardDialogFragment.java index 1283695e0..1991fa203 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/EditBoardDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/EditBoardDialogFragment.java @@ -95,7 +95,7 @@ public class EditBoardDialogFragment extends BrandedDialogFragment { } @Override - public void applyBrand(int mainColor, int textColor) { - BrandedActivity.applyBrandToEditText(mainColor, textColor, binding.input); + public void applyBrand(int mainColor) { + BrandedActivity.applyBrandToEditText(mainColor, binding.input); } } \ No newline at end of file diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlAdapter.java index 4ab3ac80b..7ba24c137 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlAdapter.java @@ -159,7 +159,7 @@ public class AccessControlAdapter extends RecyclerView.Adapter= LOLLIPOP) { // Set status bar color - window.setStatusBarColor(mainColor); - if (SDK_INT >= M) { // Set icon and text color of status bar - final View decorView = window.getDecorView(); - if (isColorDark(mainColor)) { - int flags = decorView.getSystemUiVisibility(); - flags &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; - decorView.setSystemUiVisibility(flags); - } else { - decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); - } - } - } - } - - public static void applyBrandToPrimaryToolbar(@ColorInt int mainColor, @ColorInt int textColor, @NonNull Toolbar toolbar) { - toolbar.setBackgroundColor(mainColor); - toolbar.setTitleTextColor(textColor); + public void applyBrandToPrimaryToolbar(@ColorInt int mainColor, @NonNull Toolbar toolbar) { final Drawable overflowDrawable = toolbar.getOverflowIcon(); if (overflowDrawable != null) { - overflowDrawable.setColorFilter(textColor, PorterDuff.Mode.SRC_ATOP); + overflowDrawable.setColorFilter(colorAccent, PorterDuff.Mode.SRC_ATOP); toolbar.setOverflowIcon(overflowDrawable); } final Drawable navigationDrawable = toolbar.getNavigationIcon(); if (navigationDrawable != null) { - navigationDrawable.setColorFilter(textColor, PorterDuff.Mode.SRC_ATOP); + navigationDrawable.setColorFilter(colorAccent, PorterDuff.Mode.SRC_ATOP); toolbar.setNavigationIcon(navigationDrawable); } } - protected void applyBrandToPrimaryTabLayout(@ColorInt int mainColor, @ColorInt int textColor, @NonNull TabLayout tabLayout) { - tabLayout.setBackgroundColor(mainColor); - tabLayout.setTabTextColors(textColor, textColor); - tabLayout.setTabIconTint(ColorStateList.valueOf(textColor)); - tabLayout.setSelectedTabIndicatorColor(textColor); + protected void applyBrandToPrimaryTabLayout(@ColorInt int mainColor, @NonNull TabLayout tabLayout) { + tabLayout.setTabTextColors(mainColor, mainColor); + tabLayout.setTabIconTint(ColorStateList.valueOf(mainColor)); + tabLayout.setSelectedTabIndicatorColor(mainColor); } - public static void applyBrandToFAB(@ColorInt int mainColor, @ColorInt int textColor, @NonNull FloatingActionButton fab) { + public static void applyBrandToFAB(@ColorInt int mainColor, @NonNull FloatingActionButton fab) { fab.setSupportBackgroundTintList(ColorStateList.valueOf(mainColor)); - fab.setColorFilter(textColor); } - public static void applyBrandToEditText(@ColorInt int mainColor, @ColorInt int textColor, @NonNull EditText editText) { + public static void applyBrandToEditText(@ColorInt int mainColor, @NonNull EditText editText) { @ColorInt final int finalMainColor = getSecondaryForegroundColorDependingOnTheme(editText.getContext(), mainColor); DrawableCompat.setTintList(editText.getBackground(), new ColorStateList( new int[][]{ diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedAlertDialogBuilder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedAlertDialogBuilder.java index d502772b3..6a265a814 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedAlertDialogBuilder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedAlertDialogBuilder.java @@ -28,15 +28,14 @@ public class BrandedAlertDialogBuilder extends AlertDialog.Builder implements Br @NonNull Context context = getContext(); @ColorInt final int mainColor = Application.readBrandMainColor(context); - @ColorInt final int textColor = Application.readBrandTextColor(context); - applyBrand(mainColor, textColor); - dialog.setOnShowListener(dialog -> applyBrand(mainColor, textColor)); + applyBrand(mainColor); + dialog.setOnShowListener(dialog -> applyBrand(mainColor)); return dialog; } @CallSuper @Override - public void applyBrand(int mainColor, int textColor) { + public void applyBrand(int mainColor) { final Button[] buttons = new Button[3]; buttons[0] = dialog.getButton(DialogInterface.BUTTON_POSITIVE); buttons[1] = dialog.getButton(DialogInterface.BUTTON_NEGATIVE); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDatePickerDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDatePickerDialog.java index b56ad3669..bddd455a2 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDatePickerDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDatePickerDialog.java @@ -1,7 +1,6 @@ package it.niedermann.nextcloud.deck.ui.branding; import android.content.Context; -import android.graphics.Color; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -16,7 +15,6 @@ import com.wdullaer.materialdatetimepicker.date.DatePickerDialog; import java.util.Calendar; import it.niedermann.nextcloud.deck.Application; -import it.niedermann.nextcloud.deck.util.ColorUtil; public class BrandedDatePickerDialog extends DatePickerDialog implements Branded { @@ -27,20 +25,19 @@ public class BrandedDatePickerDialog extends DatePickerDialog implements Branded setThemeDark(Application.getAppTheme(context)); if (Application.isBrandingEnabled(context)) { @ColorInt final int mainColor = Application.readBrandMainColor(context); - @ColorInt final int textColor = Application.readBrandTextColor(context); - applyBrand(mainColor, textColor); + applyBrand(mainColor); } } return super.onCreateView(inflater, container, savedInstanceState); } @Override - public void applyBrand(int mainColor, int textColor) { + public void applyBrand(int mainColor) { @ColorInt final int buttonTextColor = BrandedActivity.getSecondaryForegroundColorDependingOnTheme(requireContext(), mainColor); setOkColor(buttonTextColor); setCancelColor(buttonTextColor); // Text in picker title is always white - setAccentColor(ColorUtil.contrastRatioIsSufficient(Color.WHITE, mainColor) ? mainColor : textColor); + setAccentColor(mainColor); } /** diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDeleteAlertDialogBuilder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDeleteAlertDialogBuilder.java index 29cac691f..ec3cef553 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDeleteAlertDialogBuilder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDeleteAlertDialogBuilder.java @@ -16,8 +16,8 @@ public class BrandedDeleteAlertDialogBuilder extends BrandedAlertDialogBuilder { @CallSuper @Override - public void applyBrand(int mainColor, int textColor) { - super.applyBrand(mainColor, textColor); + public void applyBrand(int mainColor) { + super.applyBrand(mainColor); final Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE); if (positiveButton != null) { positiveButton.setTextColor(getContext().getResources().getColor(R.color.danger)); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDialogFragment.java index 75eb90b12..7174323a8 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedDialogFragment.java @@ -18,8 +18,7 @@ public abstract class BrandedDialogFragment extends DialogFragment implements Br if (context != null) { if (Application.isBrandingEnabled(context)) { @ColorInt final int mainColor = Application.readBrandMainColor(context); - @ColorInt final int textColor = Application.readBrandTextColor(context); - applyBrand(mainColor, textColor); + applyBrand(mainColor); } } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedFragment.java index 0854b547b..2c9e23ae1 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedFragment.java @@ -17,8 +17,7 @@ public abstract class BrandedFragment extends Fragment implements Branded { @Nullable Context context = getContext(); if (context != null && Application.isBrandingEnabled(context)) { @ColorInt final int mainColor = Application.readBrandMainColor(context); - @ColorInt final int textColor = Application.readBrandTextColor(context); - applyBrand(mainColor, textColor); + applyBrand(mainColor); } } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedSwitchPreference.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedSwitchPreference.java index a0b2c222e..2eb82026c 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedSwitchPreference.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedSwitchPreference.java @@ -16,8 +16,6 @@ import androidx.preference.SwitchPreference; import it.niedermann.nextcloud.deck.Application; import it.niedermann.nextcloud.deck.R; -import static android.os.Build.VERSION.SDK_INT; -import static android.os.Build.VERSION_CODES.JELLY_BEAN; import static it.niedermann.nextcloud.deck.ui.branding.BrandedActivity.getSecondaryForegroundColorDependingOnTheme; public class BrandedSwitchPreference extends SwitchPreference implements Branded { @@ -25,9 +23,6 @@ public class BrandedSwitchPreference extends SwitchPreference implements Branded @ColorInt private Integer mainColor = null; - @ColorInt - private Integer textColor = null; - @Nullable private Switch switchView; @@ -53,16 +48,15 @@ public class BrandedSwitchPreference extends SwitchPreference implements Branded if (Application.isBrandingEnabled(getContext()) && holder.itemView instanceof ViewGroup) { switchView = findSwitchWidget(holder.itemView); - if (mainColor != null && textColor != null) { + if (mainColor != null) { applyBrand(); } } } @Override - public void applyBrand(@ColorInt int mainColor, @ColorInt int textColor) { + public void applyBrand(@ColorInt int mainColor) { this.mainColor = mainColor; - this.textColor = textColor; // onBindViewHolder is called after applyBrand, therefore we have to store the given values and apply them later. if (Application.isBrandingEnabled(getContext())) { applyBrand(); @@ -70,7 +64,7 @@ public class BrandedSwitchPreference extends SwitchPreference implements Branded } private void applyBrand() { - if (switchView != null && SDK_INT >= JELLY_BEAN) { + if (switchView != null) { final int finalMainColor = getSecondaryForegroundColorDependingOnTheme(getContext(), mainColor); // int trackColor = Color.argb(77, Color.red(finalMainColor), Color.green(finalMainColor), Color.blue(finalMainColor)); DrawableCompat.setTintList(switchView.getThumbDrawable(), new ColorStateList( diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedTimePickerDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedTimePickerDialog.java index cd67d7820..8f788cccd 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedTimePickerDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/BrandedTimePickerDialog.java @@ -1,7 +1,6 @@ package it.niedermann.nextcloud.deck.ui.branding; import android.content.Context; -import android.graphics.Color; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -16,7 +15,6 @@ import com.wdullaer.materialdatetimepicker.time.TimePickerDialog; import java.util.Calendar; import it.niedermann.nextcloud.deck.Application; -import it.niedermann.nextcloud.deck.util.ColorUtil; public class BrandedTimePickerDialog extends TimePickerDialog implements Branded { @@ -27,20 +25,19 @@ public class BrandedTimePickerDialog extends TimePickerDialog implements Branded setThemeDark(Application.getAppTheme(context)); if (Application.isBrandingEnabled(context)) { @ColorInt final int mainColor = Application.readBrandMainColor(context); - @ColorInt final int textColor = Application.readBrandTextColor(context); - applyBrand(mainColor, textColor); + applyBrand(mainColor); } } return super.onCreateView(inflater, container, savedInstanceState); } @Override - public void applyBrand(int mainColor, int textColor) { + public void applyBrand(int mainColor) { @ColorInt final int buttonTextColor = BrandedActivity.getSecondaryForegroundColorDependingOnTheme(requireContext(), mainColor); setOkColor(buttonTextColor); setCancelColor(buttonTextColor); // Text in picker title is always white - setAccentColor(ColorUtil.contrastRatioIsSufficient(Color.WHITE, mainColor) ? mainColor : textColor); + setAccentColor(mainColor); } /** diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java index b618c16a9..d10e2b5e0 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java @@ -346,7 +346,7 @@ public class CardAdapter extends RecyclerView.Adapter implem } @Override - public void applyBrand(int mainColor, int textColor) { + public void applyBrand(int mainColor) { this.mainColor = BrandedActivity.getSecondaryForegroundColorDependingOnTheme(context, mainColor); notifyDataSetChanged(); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java index c039b2952..771d6302f 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java @@ -2,7 +2,6 @@ package it.niedermann.nextcloud.deck.ui.card; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.os.Bundle; import android.text.Editable; import android.text.InputFilter; @@ -89,7 +88,7 @@ public class EditActivity extends BrandedActivity { super.onNewIntent(intent); setIntent(intent); loadDataFromIntent(); - applyBrand(parseColor(viewModel.getAccount().getColor()), parseColor(viewModel.getAccount().getTextColor())); + applyBrand(parseColor(viewModel.getAccount().getColor())); } private void loadDataFromIntent() { @@ -290,12 +289,9 @@ public class EditActivity extends BrandedActivity { } @Override - public void applyBrand(int mainColor, int textColor) { - applyBrandToPrimaryToolbar(mainColor, textColor, binding.toolbar); - applyBrandToPrimaryTabLayout(mainColor, textColor, binding.tabLayout); - final int highlightColor = Color.argb(77, Color.red(textColor), Color.green(textColor), Color.blue(textColor)); - binding.title.setHighlightColor(highlightColor); - binding.title.setTextColor(textColor); + public void applyBrand(int mainColor) { + applyBrandToPrimaryToolbar(mainColor, binding.toolbar); + applyBrandToPrimaryTabLayout(mainColor, binding.tabLayout); } @NonNull diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java index dff12272e..13a7db8a4 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java @@ -275,7 +275,7 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme } @Override - public void applyBrand(int mainColor, int textColor) { - applyBrandToFAB(mainColor, textColor, binding.fab); + public void applyBrand(int mainColor) { + applyBrandToFAB(mainColor, binding.fab); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java index f43ccb5a0..524f92181 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsEditDialogFragment.java @@ -78,8 +78,8 @@ public class CardCommentsEditDialogFragment extends BrandedDialogFragment { } @Override - public void applyBrand(int mainColor, int textColor) { - BrandedActivity.applyBrandToEditText(mainColor, textColor, binding.input); + public void applyBrand(int mainColor) { + BrandedActivity.applyBrandToEditText(mainColor, binding.input); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java index 302173544..3338227bf 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java @@ -142,9 +142,9 @@ public class CardCommentsFragment extends BrandedFragment implements CommentEdit } @Override - public void applyBrand(int mainColor, int textColor) { - applyBrandToEditText(mainColor, textColor, binding.message); - applyBrandToFAB(mainColor, textColor, binding.fab); + public void applyBrand(int mainColor) { + applyBrandToEditText(mainColor, binding.message); + applyBrandToFAB(mainColor, binding.fab); } @Override diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java index a2a01b618..aa739370e 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java @@ -136,12 +136,12 @@ public class CardDetailsFragment extends BrandedFragment implements OnDateSetLis } @Override - public void applyBrand(int mainColor, int textColor) { - applyBrandToEditText(mainColor, textColor, binding.labels); - applyBrandToEditText(mainColor, textColor, binding.dueDateDate); - applyBrandToEditText(mainColor, textColor, binding.dueDateTime); - applyBrandToEditText(mainColor, textColor, binding.people); - applyBrandToEditText(mainColor, textColor, binding.description); + public void applyBrand(int mainColor) { + applyBrandToEditText(mainColor, binding.labels); + applyBrandToEditText(mainColor, binding.dueDateDate); + applyBrandToEditText(mainColor, binding.dueDateTime); + applyBrandToEditText(mainColor, binding.people); + applyBrandToEditText(mainColor, binding.description); } private void setupDescription() { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java index 12dd38eac..380f479e2 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/filter/FilterDialogFragment.java @@ -101,7 +101,7 @@ public class FilterDialogFragment extends BrandedDialogFragment { } @Override - public void applyBrand(int mainColor, int textColor) { + public void applyBrand(int mainColor) { @ColorInt int finalMainColor = BrandedActivity.getSecondaryForegroundColorDependingOnTheme(requireContext(), mainColor); binding.tabLayout.setSelectedTabIndicatorColor(finalMainColor); indicator.setColorFilter(finalMainColor, PorterDuff.Mode.SRC_ATOP); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountsActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountsActivity.java index ed62e85cb..67915fc46 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountsActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountsActivity.java @@ -39,7 +39,7 @@ public class ManageAccountsActivity extends BrandedActivity { adapter = new ManageAccountAdapter((account) -> { SingleAccountHelper.setCurrentAccount(getApplicationContext(), account.getName()); syncManager = new SyncManager(this); - Application.saveBrandColors(this, Color.parseColor(account.getColor()), Color.parseColor(account.getTextColor())); + Application.saveBrandColors(this, Color.parseColor(account.getColor())); Application.saveCurrentAccountId(this, account.getId()); }, (accountPair) -> { if (accountPair.first != null) { @@ -50,7 +50,7 @@ public class ManageAccountsActivity extends BrandedActivity { Account newAccount = accountPair.second; if (newAccount != null) { SingleAccountHelper.setCurrentAccount(getApplicationContext(), newAccount.getName()); - Application.saveBrandColors(this, Color.parseColor(newAccount.getColor()), Color.parseColor(newAccount.getTextColor())); + Application.saveBrandColors(this, Color.parseColor(newAccount.getColor())); Application.saveCurrentAccountId(this, newAccount.getId()); syncManager = new SyncManager(this); } else { @@ -79,7 +79,7 @@ public class ManageAccountsActivity extends BrandedActivity { } @Override - public void applyBrand(int mainColor, int textColor) { - applyBrandToPrimaryToolbar(mainColor, textColor, binding.toolbar); + public void applyBrand(int mainColor) { + applyBrandToPrimaryToolbar(mainColor, binding.toolbar); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java index b2e9cb012..8a168349a 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java @@ -184,7 +184,7 @@ public class PrepareCreateActivity extends BrandedActivity { Application.saveCurrentAccountId(this, account.getId()); Application.saveCurrentBoardId(this, account.getId(), boardId); Application.saveCurrentStackId(this, account.getId(), boardId, stackId); - applyBrand(parseColor(account.getColor()), parseColor(account.getTextColor())); + applyBrand(parseColor(account.getColor())); finish(); } else { @@ -216,7 +216,7 @@ public class PrepareCreateActivity extends BrandedActivity { private void applyTemporaryBrand(@Nullable Account account) { try { if (account != null && brandingEnabled) { - applyBrand(parseColor(account.getColor()), parseColor(account.getTextColor())); + applyBrand(parseColor(account.getColor())); } } catch (Throwable t) { DeckLog.logError(t); @@ -224,10 +224,10 @@ public class PrepareCreateActivity extends BrandedActivity { } @Override - public void applyBrand(int mainColor, int textColor) { - applyBrandToPrimaryToolbar(mainColor, textColor, binding.toolbar); + public void applyBrand(int mainColor) { + applyBrandToPrimaryToolbar(mainColor, binding.toolbar); binding.submit.setBackgroundColor(mainColor); - binding.submit.setTextColor(textColor); + binding.submit.setTextColor(mainColor); binding.cancel.setTextColor(getSecondaryForegroundColorDependingOnTheme(this, mainColor)); } } \ No newline at end of file diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java index 363e5b46e..6cfd0d4b6 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsActivity.java @@ -37,7 +37,7 @@ public class SettingsActivity extends BrandedActivity { } @Override - public void applyBrand(int mainColor, int textColor) { - applyBrandToPrimaryToolbar(mainColor, textColor, binding.toolbar); + public void applyBrand(int mainColor) { + applyBrandToPrimaryToolbar(mainColor, binding.toolbar); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java index f531abbe1..299ec7499 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/settings/SettingsFragment.java @@ -83,15 +83,14 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Brande @Nullable Context context = getContext(); if (context != null) { @ColorInt final int mainColor = Application.readBrandMainColor(context); - @ColorInt final int textColor = Application.readBrandTextColor(context); - applyBrand(mainColor, textColor); + applyBrand(mainColor); } } @Override - public void applyBrand(int mainColor, int textColor) { - wifiOnlyPref.applyBrand(mainColor, textColor); - themePref.applyBrand(mainColor, textColor); - brandingPref.applyBrand(mainColor, textColor); + public void applyBrand(int mainColor) { + wifiOnlyPref.applyBrand(mainColor); + themePref.applyBrand(mainColor); + brandingPref.applyBrand(mainColor); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressDialogFragment.java index 12a06bb11..6a074e2b9 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareProgressDialogFragment.java @@ -114,7 +114,7 @@ public class ShareProgressDialogFragment extends BrandedDialogFragment { } @Override - public void applyBrand(int mainColor, int textColor) { + public void applyBrand(int mainColor) { binding.progress.getProgressDrawable().setColorFilter( getSecondaryForegroundColorDependingOnTheme(requireContext(), mainColor), Mode.SRC_IN); binding.errorReportButton.setTextColor(getSecondaryForegroundColorDependingOnTheme(requireContext(), mainColor)); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java index 92272b99e..c68368013 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/EditStackDialogFragment.java @@ -90,7 +90,7 @@ public class EditStackDialogFragment extends BrandedDialogFragment { } @Override - public void applyBrand(int mainColor, int textColor) { - BrandedActivity.applyBrandToEditText(mainColor, textColor, binding.input); + public void applyBrand(int mainColor) { + BrandedActivity.applyBrandToEditText(mainColor, binding.input); } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java index 942310199..726a74184 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java @@ -138,9 +138,9 @@ public class StackFragment extends BrandedFragment implements DragAndDropTab