Merge pull request #7815 from thunderbird/add-legacy-designsystem-module
Add legacy design system module
This commit is contained in:
commit
147ac0bc6f
109 changed files with 180 additions and 78 deletions
|
@ -1,6 +1,7 @@
|
|||
package com.fsck.k9.resources
|
||||
|
||||
import android.content.Context
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import com.fsck.k9.CoreResourceProvider
|
||||
import com.fsck.k9.notification.PushNotificationState
|
||||
import com.fsck.k9.ui.R
|
||||
|
@ -36,7 +37,7 @@ class K9CoreResourceProvider(private val context: Context) : CoreResourceProvide
|
|||
|
||||
override fun outboxFolderName(): String = context.getString(R.string.special_mailbox_name_outbox)
|
||||
|
||||
override val iconPushNotification: Int = R.drawable.ic_push_notification
|
||||
override val iconPushNotification: Int = Icons.Outlined.PushNotification
|
||||
|
||||
override fun pushNotificationText(notificationState: PushNotificationState): String {
|
||||
val resId = when (notificationState) {
|
||||
|
|
|
@ -5,6 +5,8 @@ plugins {
|
|||
|
||||
dependencies {
|
||||
api(projects.app.ui.base)
|
||||
api(projects.core.ui.legacy.designsystem)
|
||||
|
||||
implementation(projects.app.core)
|
||||
implementation(projects.mail.common)
|
||||
implementation(projects.uiUtils.toolbarBottomSheet)
|
||||
|
|
|
@ -47,6 +47,7 @@ import androidx.annotation.StringRes;
|
|||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.core.content.IntentCompat;
|
||||
import androidx.core.os.BundleCompat;
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.fsck.k9.Account;
|
||||
|
@ -1845,7 +1846,7 @@ public class MessageCompose extends K9Activity implements OnClickListener,
|
|||
if (isLoadingComplete) {
|
||||
if (attachment.isSupportedImage()) {
|
||||
ImageView attachmentTypeView = view.findViewById(R.id.attachment_type);
|
||||
attachmentTypeView.setImageResource(R.drawable.ic_attachment_image);
|
||||
attachmentTypeView.setImageResource(Icons.Filled.AttachmentImage);
|
||||
|
||||
ImageView preview = view.findViewById(R.id.attachment_preview);
|
||||
preview.setVisibility(View.VISIBLE);
|
||||
|
|
|
@ -24,6 +24,7 @@ import androidx.fragment.app.commitNow
|
|||
import app.k9mail.core.android.common.compat.BundleCompat
|
||||
import app.k9mail.core.android.common.contact.CachingRepository
|
||||
import app.k9mail.core.android.common.contact.ContactRepository
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import app.k9mail.feature.launcher.FeatureLauncherActivity
|
||||
import com.fsck.k9.Account
|
||||
import com.fsck.k9.K9
|
||||
|
@ -1268,12 +1269,12 @@ open class MessageList :
|
|||
|
||||
private fun lockDrawer() {
|
||||
drawer!!.lock()
|
||||
actionBar.setHomeAsUpIndicator(R.drawable.ic_arrow_back)
|
||||
actionBar.setHomeAsUpIndicator(Icons.Outlined.ArrowBack)
|
||||
}
|
||||
|
||||
private fun unlockDrawer() {
|
||||
drawer!!.unlock()
|
||||
actionBar.setHomeAsUpIndicator(R.drawable.ic_menu)
|
||||
actionBar.setHomeAsUpIndicator(Icons.Outlined.Menu)
|
||||
}
|
||||
|
||||
private fun initializeFromLocalSearch(search: LocalSearch?) {
|
||||
|
|
|
@ -5,11 +5,11 @@ import android.graphics.Bitmap
|
|||
import android.net.Uri
|
||||
import android.widget.ImageView
|
||||
import androidx.annotation.WorkerThread
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||
import com.bumptech.glide.request.FutureTarget
|
||||
import com.fsck.k9.mail.Address
|
||||
import com.fsck.k9.ui.R
|
||||
import com.fsck.k9.view.RecipientSelectView.Recipient
|
||||
|
||||
class ContactPictureLoader(
|
||||
|
@ -41,8 +41,8 @@ class ContactPictureLoader(
|
|||
private fun setContactPicture(imageView: ImageView, contactPictureUri: Uri) {
|
||||
Glide.with(imageView.context)
|
||||
.load(contactPictureUri)
|
||||
.placeholder(R.drawable.ic_contact_picture)
|
||||
.error(R.drawable.ic_contact_picture)
|
||||
.placeholder(Icons.Filled.ContactPicture)
|
||||
.error(Icons.Filled.ContactPicture)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.dontAnimate()
|
||||
.into(imageView)
|
||||
|
@ -72,7 +72,7 @@ class ContactPictureLoader(
|
|||
return Glide.with(context)
|
||||
.asBitmap()
|
||||
.load(contactPictureUri)
|
||||
.error(R.drawable.ic_contact_picture)
|
||||
.error(Icons.Filled.ContactPicture)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.dontAnimate()
|
||||
.submit(pictureSizeInPx, pictureSizeInPx)
|
||||
|
|
|
@ -11,6 +11,7 @@ import android.widget.ImageView
|
|||
import androidx.core.view.GravityCompat
|
||||
import androidx.drawerlayout.widget.DrawerLayout
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import com.fsck.k9.Account
|
||||
import com.fsck.k9.K9
|
||||
import com.fsck.k9.activity.MessageList
|
||||
|
@ -287,7 +288,7 @@ class K9Drawer(private val parent: MessageList, savedInstanceState: Bundle?) : K
|
|||
sliderView.addStickyFooterItem(
|
||||
PrimaryDrawerItem().apply {
|
||||
nameRes = R.string.preferences_action
|
||||
iconRes = R.drawable.ic_cog
|
||||
iconRes = Icons.Filled.Cog
|
||||
identifier = DRAWER_ID_PREFERENCES
|
||||
isSelectable = false
|
||||
},
|
||||
|
@ -360,7 +361,7 @@ class K9Drawer(private val parent: MessageList, savedInstanceState: Bundle?) : K
|
|||
|
||||
folderList.unifiedInbox?.let { unifiedInbox ->
|
||||
val unifiedInboxItem = PrimaryDrawerItem().apply {
|
||||
iconRes = R.drawable.ic_inbox_multiple
|
||||
iconRes = Icons.Filled.InboxMultiple
|
||||
identifier = DRAWER_ID_UNIFIED_INBOX
|
||||
nameRes = R.string.integrated_inbox_title
|
||||
selectedColorInt = selectedBackgroundColor
|
||||
|
|
|
@ -8,6 +8,7 @@ import android.view.Menu
|
|||
import android.view.MenuItem
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import com.fsck.k9.Account
|
||||
import com.fsck.k9.Account.FolderMode
|
||||
import com.fsck.k9.Preferences
|
||||
|
@ -96,7 +97,7 @@ class ChooseFolderActivity : K9Activity() {
|
|||
private fun initializeActionBar() {
|
||||
val actionBar = supportActionBar ?: error("Action bar missing")
|
||||
actionBar.setDisplayHomeAsUpEnabled(true)
|
||||
actionBar.setHomeAsUpIndicator(R.drawable.ic_close)
|
||||
actionBar.setHomeAsUpIndicator(Icons.Outlined.Close)
|
||||
}
|
||||
|
||||
private fun initializeFolderList() {
|
||||
|
@ -161,17 +162,19 @@ class ChooseFolderActivity : K9Activity() {
|
|||
val folderMenuItem = menu.findItem(R.id.filter_folders)
|
||||
val folderSearchView = folderMenuItem.actionView as SearchView
|
||||
folderSearchView.queryHint = getString(R.string.folder_list_filter_hint)
|
||||
folderSearchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
|
||||
override fun onQueryTextSubmit(query: String): Boolean {
|
||||
itemAdapter.filter(query)
|
||||
return true
|
||||
}
|
||||
folderSearchView.setOnQueryTextListener(
|
||||
object : SearchView.OnQueryTextListener {
|
||||
override fun onQueryTextSubmit(query: String): Boolean {
|
||||
itemAdapter.filter(query)
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onQueryTextChange(newText: String): Boolean {
|
||||
itemAdapter.filter(newText)
|
||||
return true
|
||||
}
|
||||
})
|
||||
override fun onQueryTextChange(newText: String): Boolean {
|
||||
itemAdapter.filter(newText)
|
||||
return true
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
package com.fsck.k9.ui.folders
|
||||
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import com.fsck.k9.mailstore.FolderType
|
||||
import com.fsck.k9.ui.R
|
||||
|
||||
class FolderIconProvider {
|
||||
private val iconFolderInboxResId: Int = R.drawable.ic_inbox
|
||||
private val iconFolderOutboxResId: Int = R.drawable.ic_outbox
|
||||
private val iconFolderSentResId: Int = R.drawable.ic_send
|
||||
private val iconFolderTrashResId: Int = R.drawable.ic_trash_can
|
||||
private val iconFolderDraftsResId: Int = R.drawable.ic_drafts_folder
|
||||
private val iconFolderArchiveResId: Int = R.drawable.ic_archive
|
||||
private val iconFolderSpamResId: Int = R.drawable.ic_alert_octagon
|
||||
var iconFolderResId: Int = R.drawable.ic_folder
|
||||
private val iconFolderInboxResId: Int = Icons.Outlined.Inbox
|
||||
private val iconFolderOutboxResId: Int = Icons.Outlined.Outbox
|
||||
private val iconFolderSentResId: Int = Icons.Filled.Send
|
||||
private val iconFolderTrashResId: Int = Icons.Filled.Trash
|
||||
private val iconFolderDraftsResId: Int = Icons.Filled.Drafts
|
||||
private val iconFolderArchiveResId: Int = Icons.Filled.Archive
|
||||
private val iconFolderSpamResId: Int = Icons.Filled.Spam
|
||||
var iconFolderResId: Int = Icons.Filled.Folder
|
||||
|
||||
fun getFolderIcon(type: FolderType): Int = when (type) {
|
||||
FolderType.INBOX -> iconFolderInboxResId
|
||||
|
|
|
@ -19,6 +19,7 @@ import androidx.core.view.isVisible
|
|||
import androidx.fragment.app.setFragmentResult
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.RecyclerView.OnScrollListener
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import app.k9mail.ui.utils.bottomsheet.ToolbarBottomSheetDialog
|
||||
import app.k9mail.ui.utils.bottomsheet.ToolbarBottomSheetDialogFragment
|
||||
import com.fsck.k9.activity.MessageCompose
|
||||
|
@ -81,7 +82,7 @@ class MessageDetailsFragment : ToolbarBottomSheetDialogFragment() {
|
|||
val toolbar = checkNotNull(toolbar)
|
||||
toolbar.apply {
|
||||
title = getString(R.string.message_details_toolbar_title)
|
||||
navigationIcon = ContextCompat.getDrawable(requireContext(), R.drawable.ic_close)
|
||||
navigationIcon = ContextCompat.getDrawable(requireContext(), Icons.Outlined.Close)
|
||||
|
||||
setNavigationOnClickListener {
|
||||
dismissAllowingStateLoss()
|
||||
|
@ -109,11 +110,13 @@ class MessageDetailsFragment : ToolbarBottomSheetDialogFragment() {
|
|||
errorView.isVisible = false
|
||||
recyclerView.isVisible = false
|
||||
}
|
||||
|
||||
MessageDetailsState.Error -> {
|
||||
progressBar.isVisible = false
|
||||
errorView.isVisible = true
|
||||
recyclerView.isVisible = false
|
||||
}
|
||||
|
||||
is MessageDetailsState.DataLoaded -> {
|
||||
progressBar.isVisible = false
|
||||
errorView.isVisible = false
|
||||
|
|
|
@ -25,6 +25,7 @@ import androidx.core.view.isVisible
|
|||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.RecyclerView.NO_POSITION
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import com.fsck.k9.FontSizes
|
||||
import com.fsck.k9.UiDensity
|
||||
import com.fsck.k9.contacts.ContactPictureLoader
|
||||
|
@ -484,7 +485,7 @@ class MessageListAdapter internal constructor(
|
|||
if (displayAddress != null) {
|
||||
contactsPictureLoader.setContactPicture(contactPictureView, displayAddress)
|
||||
} else {
|
||||
contactPictureView.setImageResource(R.drawable.ic_contact_picture)
|
||||
contactPictureView.setImageResource(Icons.Filled.ContactPicture)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import android.content.res.Resources.Theme
|
|||
import android.graphics.drawable.Drawable
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import com.fsck.k9.SwipeAction
|
||||
import com.fsck.k9.ui.R
|
||||
import com.fsck.k9.ui.resolveColorAttribute
|
||||
|
@ -11,15 +12,15 @@ import com.fsck.k9.ui.resolveColorAttribute
|
|||
class SwipeResourceProvider(val theme: Theme) {
|
||||
val iconTint = theme.resolveColorAttribute(R.attr.messageListSwipeIconTint)
|
||||
|
||||
private val selectIcon = theme.loadDrawable(R.drawable.ic_check_circle)
|
||||
private val markAsReadIcon = theme.loadDrawable(R.drawable.ic_opened_envelope)
|
||||
private val markAsUnreadIcon = theme.loadDrawable(R.drawable.ic_mark_new)
|
||||
private val addStarIcon = theme.loadDrawable(R.drawable.ic_star)
|
||||
private val removeStarIcon = theme.loadDrawable(R.drawable.ic_star_outline)
|
||||
private val archiveIcon = theme.loadDrawable(R.drawable.ic_archive)
|
||||
private val deleteIcon = theme.loadDrawable(R.drawable.ic_trash_can)
|
||||
private val spamIcon = theme.loadDrawable(R.drawable.ic_alert_octagon)
|
||||
private val moveIcon = theme.loadDrawable(R.drawable.ic_move_to_folder)
|
||||
private val selectIcon = theme.loadDrawable(Icons.Filled.CheckCircle)
|
||||
private val markAsReadIcon = theme.loadDrawable(Icons.Filled.OpenedEnvelope)
|
||||
private val markAsUnreadIcon = theme.loadDrawable(Icons.Filled.MarkNew)
|
||||
private val addStarIcon = theme.loadDrawable(Icons.Filled.Star)
|
||||
private val removeStarIcon = theme.loadDrawable(Icons.Outlined.Star)
|
||||
private val archiveIcon = theme.loadDrawable(Icons.Filled.Archive)
|
||||
private val deleteIcon = theme.loadDrawable(Icons.Filled.Trash)
|
||||
private val spamIcon = theme.loadDrawable(Icons.Filled.Spam)
|
||||
private val moveIcon = theme.loadDrawable(Icons.Filled.Move)
|
||||
|
||||
private val noActionColor = theme.resolveColorAttribute(R.attr.messageListSwipeDisabledBackgroundColor)
|
||||
private val selectColor = theme.resolveColorAttribute(R.attr.messageListSwipeSelectBackgroundColor)
|
||||
|
|
|
@ -10,13 +10,14 @@ import android.widget.FrameLayout;
|
|||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.fsck.k9.K9;
|
||||
import com.fsck.k9.mailstore.AttachmentViewInfo;
|
||||
import com.fsck.k9.ui.R;
|
||||
import com.fsck.k9.ui.helper.ContextHelper;
|
||||
import com.fsck.k9.ui.helper.SizeFormatter;
|
||||
import com.fsck.k9.mailstore.AttachmentViewInfo;
|
||||
|
||||
|
||||
public class AttachmentView extends FrameLayout implements OnClickListener {
|
||||
|
@ -83,7 +84,7 @@ public class AttachmentView extends FrameLayout implements OnClickListener {
|
|||
setAttachmentSize(attachment.size);
|
||||
|
||||
if (attachment.isSupportedImage()) {
|
||||
attachmentType.setImageResource(R.drawable.ic_attachment_image);
|
||||
attachmentType.setImageResource(Icons.Filled.AttachmentImage);
|
||||
if (attachment.isContentAvailable()) {
|
||||
refreshThumbnail();
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ import androidx.core.content.ContextCompat
|
|||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.setFragmentResultListener
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import com.fsck.k9.Account
|
||||
import com.fsck.k9.K9
|
||||
import com.fsck.k9.activity.MessageCompose
|
||||
|
@ -241,9 +242,9 @@ class MessageViewFragment :
|
|||
}
|
||||
|
||||
val drawableId = if (isMessageRead) {
|
||||
R.drawable.ic_mark_new
|
||||
Icons.Filled.MarkNew
|
||||
} else {
|
||||
R.drawable.ic_opened_envelope
|
||||
Icons.Filled.OpenedEnvelope
|
||||
}
|
||||
|
||||
val drawable = ContextCompat.getDrawable(requireContext(), drawableId)
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.fsck.k9.ui.push
|
|||
import android.os.Bundle
|
||||
import android.view.MenuItem
|
||||
import androidx.fragment.app.commit
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import com.fsck.k9.ui.R
|
||||
import com.fsck.k9.ui.base.K9Activity
|
||||
|
||||
|
@ -12,7 +13,7 @@ class PushInfoActivity : K9Activity() {
|
|||
setTitle(R.string.push_info_title)
|
||||
setLayout(R.layout.activity_push_info)
|
||||
supportActionBar!!.setDisplayHomeAsUpEnabled(true)
|
||||
supportActionBar!!.setHomeAsUpIndicator(R.drawable.ic_close)
|
||||
supportActionBar!!.setHomeAsUpIndicator(Icons.Outlined.Close)
|
||||
|
||||
if (savedInstanceState == null) {
|
||||
supportFragmentManager.commit {
|
||||
|
|
|
@ -15,6 +15,7 @@ import androidx.navigation.fragment.findNavController
|
|||
import androidx.recyclerview.widget.ItemTouchHelper
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
|
||||
import app.k9mail.feature.launcher.FeatureLauncherActivity
|
||||
import com.fsck.k9.Account
|
||||
import com.fsck.k9.ui.R
|
||||
|
@ -87,7 +88,7 @@ class SettingsListFragment : Fragment(), ItemTouchCallback {
|
|||
addAction(
|
||||
text = getString(R.string.general_settings_title),
|
||||
navigationAction = R.id.action_settingsListScreen_to_generalSettingsScreen,
|
||||
icon = R.drawable.ic_cog,
|
||||
icon = Icons.Filled.Cog,
|
||||
)
|
||||
|
||||
addSection(title = getString(R.string.accounts_title)) {
|
||||
|
@ -99,7 +100,7 @@ class SettingsListFragment : Fragment(), ItemTouchCallback {
|
|||
addAction(
|
||||
text = getString(R.string.add_account_action),
|
||||
navigationAction = R.id.action_settingsListScreen_to_addAccountScreen,
|
||||
icon = R.drawable.ic_account_plus,
|
||||
icon = Icons.Outlined.AccountPlus,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -107,13 +108,13 @@ class SettingsListFragment : Fragment(), ItemTouchCallback {
|
|||
addAction(
|
||||
text = getString(R.string.settings_export_title),
|
||||
navigationAction = R.id.action_settingsListScreen_to_settingsExportScreen,
|
||||
icon = R.drawable.ic_export,
|
||||
icon = Icons.Outlined.Export,
|
||||
)
|
||||
|
||||
addAction(
|
||||
text = getString(SettingsImportR.string.settings_import_title),
|
||||
navigationAction = R.id.action_settingsListScreen_to_settingsImportScreen,
|
||||
icon = R.drawable.ic_import,
|
||||
icon = Icons.Outlined.Import,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -121,19 +122,19 @@ class SettingsListFragment : Fragment(), ItemTouchCallback {
|
|||
addAction(
|
||||
text = getString(R.string.about_action),
|
||||
navigationAction = R.id.action_settingsListScreen_to_aboutScreen,
|
||||
icon = R.drawable.ic_info,
|
||||
icon = Icons.Outlined.Info,
|
||||
)
|
||||
|
||||
addUrlAction(
|
||||
text = getString(R.string.user_manual_title),
|
||||
url = getString(R.string.user_manual_url),
|
||||
icon = R.drawable.ic_open_book,
|
||||
icon = Icons.Filled.OpenBook,
|
||||
)
|
||||
|
||||
addUrlAction(
|
||||
text = getString(R.string.get_help_title),
|
||||
url = getString(R.string.user_forum_url),
|
||||
icon = R.drawable.ic_help,
|
||||
icon = Icons.Outlined.Help,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ import androidx.annotation.DrawableRes;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.widget.PopupMenu;
|
||||
import androidx.appcompat.widget.TooltipCompat;
|
||||
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons;
|
||||
import com.fsck.k9.Account;
|
||||
import com.fsck.k9.DI;
|
||||
import com.fsck.k9.FontSizes;
|
||||
|
@ -26,7 +27,6 @@ import com.fsck.k9.activity.misc.ContactPicture;
|
|||
import com.fsck.k9.contacts.ContactPictureLoader;
|
||||
import com.fsck.k9.helper.ClipboardManager;
|
||||
import com.fsck.k9.helper.MessageHelper;
|
||||
import com.fsck.k9.ui.messageview.MessageViewRecipientFormatter;
|
||||
import com.fsck.k9.mail.Address;
|
||||
import com.fsck.k9.mail.Flag;
|
||||
import com.fsck.k9.mail.Message;
|
||||
|
@ -38,6 +38,7 @@ import com.fsck.k9.ui.helper.RelativeDateTimeFormatter;
|
|||
import com.fsck.k9.ui.messageview.DisplayRecipients;
|
||||
import com.fsck.k9.ui.messageview.DisplayRecipientsExtractor;
|
||||
import com.fsck.k9.ui.messageview.MessageHeaderClickListener;
|
||||
import com.fsck.k9.ui.messageview.MessageViewRecipientFormatter;
|
||||
import com.fsck.k9.ui.messageview.RecipientNamesView;
|
||||
import com.google.android.material.chip.Chip;
|
||||
|
||||
|
@ -213,7 +214,7 @@ public class MessageHeader extends LinearLayout implements OnClickListener, OnLo
|
|||
ContactPictureLoader contactsPictureLoader = ContactPicture.getContactPictureLoader();
|
||||
contactsPictureLoader.setContactPicture(contactPictureView, fromAddress);
|
||||
} else {
|
||||
contactPictureView.setImageResource(R.drawable.ic_contact_picture);
|
||||
contactPictureView.setImageResource(Icons.Filled.ContactPicture);
|
||||
}
|
||||
} else {
|
||||
contactPictureView.setVisibility(View.GONE);
|
||||
|
@ -277,10 +278,10 @@ public class MessageHeader extends LinearLayout implements OnClickListener, OnLo
|
|||
private int getReplyImageResource(@NonNull ReplyAction replyAction) {
|
||||
switch (replyAction) {
|
||||
case REPLY: {
|
||||
return R.drawable.ic_reply;
|
||||
return Icons.Filled.Reply;
|
||||
}
|
||||
case REPLY_ALL: {
|
||||
return R.drawable.ic_reply_all;
|
||||
return Icons.Filled.ReplyAll;
|
||||
}
|
||||
default: {
|
||||
throw new IllegalStateException("Unknown reply action: " + replyAction);
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
<attr name="textColorPrimaryRecipientDropdown" format="reference" />
|
||||
<attr name="textColorSecondaryRecipientDropdown" format="reference" />
|
||||
<attr name="backgroundColorChooseAccountHeader" format="color" />
|
||||
<attr name="messageListSelectedCheckMarkColor" format="reference|color"/>
|
||||
<attr name="messageListSelectedBackgroundColor" format="reference|color"/>
|
||||
<attr name="messageListSelectedBackgroundAlphaFraction" format="fraction"/>
|
||||
<attr name="messageListSelectedBackgroundAlphaBackground" format="reference|color"/>
|
||||
|
@ -30,7 +29,6 @@
|
|||
<attr name="messageListSwipeDeleteBackgroundColor" format="reference|color"/>
|
||||
<attr name="messageListSwipeSpamBackgroundColor" format="reference|color"/>
|
||||
<attr name="messageListSwipeMoveBackgroundColor" format="reference|color"/>
|
||||
<attr name="messageStarColor" format="color"/>
|
||||
<attr name="messageDetailsDividerColor" format="reference|color"/>
|
||||
<attr name="composerBackgroundColor" format="color"/>
|
||||
<attr name="contactPictureFallbackDefaultBackgroundColor" format="reference|color"/>
|
||||
|
|
|
@ -66,13 +66,11 @@
|
|||
|
||||
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
|
||||
|
||||
// TODO: Remove iconSettingsImportStatus as soon icons are migrated to icon module
|
||||
<item name="iconSettingsImportStatus">@drawable/ic_import_status</item>
|
||||
<item name="iconStarColor">#fbbc04</item>
|
||||
|
||||
<item name="textColorPrimaryRecipientDropdown">@android:color/primary_text_light</item>
|
||||
<item name="textColorSecondaryRecipientDropdown">@android:color/secondary_text_light</item>
|
||||
|
||||
<item name="messageListSelectedCheckMarkColor">?attr/colorSecondary</item>
|
||||
<item name="messageListSelectedBackgroundColor">?attr/colorSecondaryVariant</item>
|
||||
<item name="messageListSelectedBackgroundAlphaFraction">33%</item>
|
||||
<item name="messageListSelectedBackgroundAlphaBackground">?attr/colorSurface</item>
|
||||
|
@ -99,7 +97,6 @@
|
|||
<item name="messageListSwipeSpamBackgroundColor">@color/material_red_700</item>
|
||||
<item name="messageListSwipeMoveBackgroundColor">@color/material_purple_500</item>
|
||||
|
||||
<item name="messageStarColor">#fbbc04</item>
|
||||
<item name="messageDetailsDividerColor">#ffcccccc</item>
|
||||
<item name="contactPictureFallbackDefaultBackgroundColor">#ffababab</item>
|
||||
<item name="contactPictureFallbackBackgroundColors">@array/contact_picture_fallback_background_colors_light</item>
|
||||
|
@ -188,12 +185,10 @@
|
|||
|
||||
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
|
||||
|
||||
// TODO: Remove iconSettingsImportStatus as soon icons are migrated to icon module
|
||||
<item name="iconSettingsImportStatus">@drawable/ic_import_status</item>
|
||||
<item name="iconStarColor">#fdd663</item>
|
||||
|
||||
<item name="textColorPrimaryRecipientDropdown">@android:color/primary_text_dark</item>
|
||||
<item name="textColorSecondaryRecipientDropdown">@android:color/secondary_text_dark</item>
|
||||
<item name="messageListSelectedCheckMarkColor">?attr/colorSecondary</item>
|
||||
<item name="messageListSelectedBackgroundColor">?attr/colorSecondaryVariant</item>
|
||||
<item name="messageListSelectedBackgroundAlphaFraction">25%</item>
|
||||
<item name="messageListSelectedBackgroundAlphaBackground">?attr/colorSurface</item>
|
||||
|
@ -220,7 +215,6 @@
|
|||
<item name="messageListSwipeSpamBackgroundColor">@color/material_red_800</item>
|
||||
<item name="messageListSwipeMoveBackgroundColor">@color/material_purple_600</item>
|
||||
|
||||
<item name="messageStarColor">#fdd663</item>
|
||||
<item name="messageDetailsDividerColor">#ff555555</item>
|
||||
<item name="contactTokenBackgroundColor">#313131</item>
|
||||
<item name="contactPictureFallbackDefaultBackgroundColor">#ff606060</item>
|
||||
|
|
11
core/ui/legacy/README.md
Normal file
11
core/ui/legacy/README.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
## Core - UI - Legacy
|
||||
|
||||
The modules in this section are dedicated to the legacy UI implementation based on XML-based layouts for Android.
|
||||
|
||||
> [!WARNING]
|
||||
> It's not suggested to use the contained modules for new features!
|
||||
>
|
||||
> This is only maintained for the purpose of supporting the existing implementation.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Use the Composable UI along our [theme 2](../compose/theme2) and [design system](../compose/designsystem) design system instead.
|
11
core/ui/legacy/designsystem/README.md
Normal file
11
core/ui/legacy/designsystem/README.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
## Core - UI - Legacy - Design System
|
||||
|
||||
This is the design system dedicated to the legacy UI implementation based on XML-based layouts for Android.
|
||||
|
||||
> [!WARNING]
|
||||
> It's not suggested to use this design system for new features!
|
||||
>
|
||||
> This is only maintained for the purpose of supporting the existing implementation.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Use the Composable UI along our [theme 2](../compose/theme2) and [design system](../compose/designsystem) design system instead.
|
12
core/ui/legacy/designsystem/build.gradle.kts
Normal file
12
core/ui/legacy/designsystem/build.gradle.kts
Normal file
|
@ -0,0 +1,12 @@
|
|||
plugins {
|
||||
id(ThunderbirdPlugins.Library.android)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "app.k9mail.core.ui.legacy.designsystem"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// TODO Remove this dependency once the legacy theme is available
|
||||
api(libs.android.material)
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
package app.k9mail.core.ui.legacy.designsystem.atom.icon
|
||||
|
||||
import app.k9mail.core.ui.legacy.designsystem.R
|
||||
|
||||
/**
|
||||
* Icons used in the legacy design system.
|
||||
*
|
||||
* The icons are organized in two types: `Filled` and `Outlined`. Each object contains the icons as drawableRes.
|
||||
*/
|
||||
object Icons {
|
||||
object Filled {
|
||||
val Archive = R.drawable.ic_archive
|
||||
|
||||
@JvmField
|
||||
val AttachmentImage = R.drawable.ic_attachment_image
|
||||
val CheckCircle = R.drawable.ic_check_circle
|
||||
|
||||
@JvmField
|
||||
val ContactPicture = R.drawable.ic_contact_picture
|
||||
val Cog = R.drawable.ic_cog
|
||||
val Drafts = R.drawable.ic_drafts_folder
|
||||
val Folder = R.drawable.ic_folder
|
||||
val InboxMultiple = R.drawable.ic_inbox_multiple
|
||||
val MarkNew = R.drawable.ic_mark_new
|
||||
val Move = R.drawable.ic_move_to_folder
|
||||
val OpenedEnvelope = R.drawable.ic_opened_envelope
|
||||
val OpenBook = R.drawable.ic_open_book
|
||||
|
||||
@JvmField
|
||||
val Reply = R.drawable.ic_reply
|
||||
|
||||
@JvmField
|
||||
val ReplyAll = R.drawable.ic_reply_all
|
||||
|
||||
val Send = R.drawable.ic_send
|
||||
val Star = R.drawable.ic_star
|
||||
val Spam = R.drawable.ic_alert_octagon
|
||||
val Trash = R.drawable.ic_trash_can
|
||||
}
|
||||
|
||||
object Outlined {
|
||||
val AccountPlus = R.drawable.ic_account_plus
|
||||
val ArrowBack = R.drawable.ic_arrow_back
|
||||
val Close = R.drawable.ic_close
|
||||
val Export = R.drawable.ic_export
|
||||
val Help = R.drawable.ic_help
|
||||
val Import = R.drawable.ic_import
|
||||
val Info = R.drawable.ic_info
|
||||
val Inbox = R.drawable.ic_inbox
|
||||
val Menu = R.drawable.ic_menu
|
||||
val Outbox = R.drawable.ic_outbox
|
||||
val PushNotification = R.drawable.ic_push_notification
|
||||
val Star = R.drawable.ic_star_outline
|
||||
}
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
<path
|
||||
android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="?attr/messageListSelectedCheckMarkColor"
|
||||
android:fillColor="?attr/colorSecondary"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m16.795,23.875 l-4.17,-4.17 -1.42,1.41 5.59,5.59 12,-12 -1.41,-1.41z"
|
|
@ -1,7 +1,7 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/messageStarColor"
|
||||
android:tint="?attr/iconStarColor"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
|
@ -1,7 +1,7 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="20dp"
|
||||
android:height="19dp"
|
||||
android:tint="?attr/messageStarColor"
|
||||
android:tint="?attr/iconStarColor"
|
||||
android:viewportWidth="20"
|
||||
android:viewportHeight="19">
|
||||
<path
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue