diff --git a/.gitignore b/.gitignore index 8e8332950d..4e936f9810 100644 --- a/.gitignore +++ b/.gitignore @@ -20,5 +20,6 @@ secret.gradle **/lint-baseline.xml **/modules maven +.kotlin diff --git a/build-logic/manager/src/main/kotlin/utils/release/CyxbsReleaseTask.kt b/build-logic/manager/src/main/kotlin/utils/release/CyxbsReleaseTask.kt index 812dca81ae..00ff771c75 100644 --- a/build-logic/manager/src/main/kotlin/utils/release/CyxbsReleaseTask.kt +++ b/build-logic/manager/src/main/kotlin/utils/release/CyxbsReleaseTask.kt @@ -137,19 +137,6 @@ open class CyxbsReleaseTask : DefaultTask() { return response.body()!! } -// /** -// * 获取腾讯多渠道打包文件 -// */ -// private fun getApkFile(): File? { -// return project.extensions.getByType(ChannelConfigExtension::class) -// .let { extension -> -// extension.outputDir.listFiles()?.singleOrNull { -// it.name.matches( -// Regex("掌上重邮-${Config.versionName}-official-release-\\d+-\\d+\\.apk")) -// } -// } -// } - /** * https://leetcode.cn/problems/compare-version-numbers/description/ * 时间复杂度: O(n+m) diff --git a/lib_common/src/main/res/layout/common_cyxbs_toast.xml b/lib_common/src/main/res/layout/common_cyxbs_toast.xml index fc22a2aeeb..03b30e9e83 100644 --- a/lib_common/src/main/res/layout/common_cyxbs_toast.xml +++ b/lib_common/src/main/res/layout/common_cyxbs_toast.xml @@ -10,5 +10,5 @@ android:paddingBottom="9dp" android:gravity="center" android:background="@drawable/common_shape_cyxbs_toast" - android:textColor="@color/common_discover_academic_online_colors" + android:textColor="@color/config_white_black" tools:text="自定义Toast" /> \ No newline at end of file diff --git a/lib_common/src/main/res/values/attrs.xml b/lib_common/src/main/res/values/attrs.xml index 52867cfe2b..9877b013ac 100644 --- a/lib_common/src/main/res/values/attrs.xml +++ b/lib_common/src/main/res/values/attrs.xml @@ -1,38 +1,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib_common/src/main/java/com/mredrock/cyxbs/common/component/JCardViewPlus.kt b/lib_config/src/main/java/com/mredrock/cyxbs/config/view/JCardViewPlus.kt similarity index 96% rename from lib_common/src/main/java/com/mredrock/cyxbs/common/component/JCardViewPlus.kt rename to lib_config/src/main/java/com/mredrock/cyxbs/config/view/JCardViewPlus.kt index 83aa4e0af5..6a40b5d857 100644 --- a/lib_common/src/main/java/com/mredrock/cyxbs/common/component/JCardViewPlus.kt +++ b/lib_config/src/main/java/com/mredrock/cyxbs/config/view/JCardViewPlus.kt @@ -1,390 +1,388 @@ -package com.mredrock.cyxbs.common.component - -import android.content.Context -import android.content.res.TypedArray -import android.graphics.* -import android.util.AttributeSet -import android.util.TypedValue -import android.view.Gravity -import android.view.View -import android.view.ViewGroup -import android.view.ViewGroup.LayoutParams -import androidx.annotation.ColorInt -import com.mredrock.cyxbs.common.R - -/** - * Created By jay68 on 2018/8/27. - */ -@Deprecated("建议使用 CardView 代替", ReplaceWith("CardView", "androidx.cardview.widget.CardView")) -open class JCardViewPlus(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : ViewGroup(context, attrs, defStyleAttr) { - companion object { - @JvmStatic - val DEFAULT_CARD_BACKGROUND_COLOR = Color.parseColor("#ffffff") - @JvmStatic - val DEFAULT_SHADER_COLOR = Color.parseColor("#fefefe") - - const val DEFAULT_CHILD_GRAVITY = Gravity.TOP or Gravity.START - - const val LEFT_SHADOW_MASK = 0x1 - const val TOP_SHADOW_MASK = 0x2 - const val RIGHT_SHADOW_MASK = 0x4 - const val BOTTOM_SHADOW_MASK = 0x8 - - private const val LEFT_SHADOW_SHIFT = 0 - private const val TOP_SHADOW_SHIFT = 1 - private const val RIGHT_SHADOW_SHIFT = 2 - private const val BOTTOM_SHADOW_SHIFT = 3 - } - - constructor(context: Context) : this(context, null) - constructor(context: Context, attrs: AttributeSet?) : this(context, attrs, 0) - - private var cardBackgroundShape: Path = Path() - - @ColorInt - var shadowColor: Int = DEFAULT_SHADER_COLOR - set(value) { - field = value - backgroundBuffer = null - paint.apply { - setShadowLayer(shadowRadius, 0f, 0f, value) - } - } - var shadowRadius: Float = dip(10) - set(value) { - field = value - backgroundBuffer = null - paint.apply { - setShadowLayer(value, 0f, 0f, shadowColor) - } - } - private var shadowFlags: Int = 0xF - - private var cardCornerRadiusUpperLeft: Int = 0 - private var cardCornerRadiusUpperRight: Int = 0 - private var cardCornerRadiusLowerLeft: Int = 0 - private var cardCornerRadiusLowerRight: Int = 0 - - private var contentPaddingLeft: Int = 0 - private var contentPaddingTop: Int = 0 - private var contentPaddingBottom: Int = 0 - private var contentPaddingRight: Int = 0 - - private val paint: Paint - private var backgroundBuffer: Bitmap? = null - - init { - if (childCount > 1) { - throw IllegalStateException("JCardViewPlus can only support one child") - } - setBackgroundColor(Color.TRANSPARENT) - paint = Paint(Paint.DITHER_FLAG or Paint.ANTI_ALIAS_FLAG or Paint.FILTER_BITMAP_FLAG) - val typedArray = context.obtainStyledAttributes(attrs, R.styleable.JCardViewPlus) - val cardBackgroundColor = typedArray.getColor(R.styleable.JCardViewPlus_cardBackgroundColor, DEFAULT_CARD_BACKGROUND_COLOR) - setCardBackgroundColor(cardBackgroundColor) - initShadow(typedArray) - initCardRadius(typedArray) - initContentPadding(typedArray) - typedArray.recycle() - } - - private fun initShadow(typedArray: TypedArray) { - shadowRadius = typedArray.getDimension(R.styleable.JCardViewPlus_shadowRadius, shadowRadius) - shadowFlags = typedArray.getInt(R.styleable.JCardViewPlus_shadowFlags, shadowFlags) - shadowColor = typedArray.getColor(R.styleable.JCardViewPlus_shadowColor, DEFAULT_SHADER_COLOR) - setShadow(shadowFlags) - } - - private fun initCardRadius(typedArray: TypedArray) { - val cardCornerRadius = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_cardCornerRadius, -1) - if (cardCornerRadius != -1) { - cardCornerRadiusUpperLeft = cardCornerRadius - cardCornerRadiusUpperRight = cardCornerRadius - cardCornerRadiusLowerLeft = cardCornerRadius - cardCornerRadiusLowerRight = cardCornerRadius - } else { - cardCornerRadiusUpperLeft = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_cardCornerRadiusUpperLeft, 0) - cardCornerRadiusUpperRight = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_cardCornerRadiusUpperRight, 0) - cardCornerRadiusLowerLeft = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_cardCornerRadiusLowerLeft, 0) - cardCornerRadiusLowerRight = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_cardCornerRadiusLowerRight, 0) - } - } - - private fun initContentPadding(typedArray: TypedArray) { - val contentPadding = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_contentPadding, -1) - if (contentPadding > 0) { - contentPaddingLeft = contentPadding - contentPaddingTop = contentPadding - contentPaddingBottom = contentPadding - contentPaddingRight = contentPadding - return - } - - val horizontalContentPadding = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_horizontalContentPadding, -1) - val verticalContentPadding = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_verticalContentPadding, -1) - contentPaddingLeft = horizontalContentPadding - contentPaddingTop = verticalContentPadding - contentPaddingBottom = verticalContentPadding - contentPaddingRight = horizontalContentPadding - if (contentPaddingLeft < 0) { - contentPaddingLeft = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_contentPaddingLeft, 0) - contentPaddingRight = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_contentPaddingRight, 0) - } - if (contentPaddingTop < 0) { - contentPaddingTop = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_contentPaddingTop, 0) - contentPaddingBottom = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_contentPaddingBottom, 0) - } - } - - override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { - if (childCount != 0) { - measureChildWithMargins(getChildAt(0), widthMeasureSpec, contentPaddingLeft + contentPaddingRight, - heightMeasureSpec, contentPaddingTop + contentPaddingBottom) - val child = getChildAt(0) - super.setMeasuredDimension(getMeasureSpec(widthMeasureSpec, child.measuredWidth, paddingLeft + paddingRight + contentPaddingLeft + contentPaddingRight), - getMeasureSpec(heightMeasureSpec, child.measuredHeight, paddingTop + paddingBottom + contentPaddingTop + contentPaddingBottom)) - } else { - super.setMeasuredDimension(widthMeasureSpec, heightMeasureSpec) - } - } - - private fun getMeasureSpec(measureSpec: Int, childSize: Int, padding: Int): Int { - val size = MeasureSpec.getSize(measureSpec) - val mode = MeasureSpec.getMode(measureSpec) - return when (mode) { - MeasureSpec.EXACTLY -> measureSpec - - MeasureSpec.AT_MOST -> { - MeasureSpec.makeMeasureSpec(Math.min(size, childSize + padding), MeasureSpec.EXACTLY) - } - - MeasureSpec.UNSPECIFIED -> { - MeasureSpec.makeMeasureSpec(childSize + padding, MeasureSpec.EXACTLY) - } - - else -> measureSpec - } - } - - override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) { - if (childCount <= 0) { - return - } - val parentLeft = paddingLeft + contentPaddingLeft - val parentTop = paddingTop + contentPaddingTop - val child = getChildAt(0) - val lp = child.layoutParams as LayoutParams - val childLeft = parentLeft + lp.leftMargin - val childTop = parentTop + lp.topMargin - child.layout(childLeft, childTop, childLeft + child.measuredWidth, childTop + child.measuredHeight) -// layoutChildren(left, top, right, bottom) - } - - /* - private fun layoutChildren(left: Int, top: Int, right: Int, bottom: Int) { - val parentLeft = paddingLeft + contentPaddingLeft - val parentRight = right - left - paddingRight - contentPaddingRight - - val parentTop = paddingTop + contentPaddingTop - val parentBottom = bottom - top - paddingBottom - contentPaddingBottom - - val child = getChildAt(0) - if (child.visibility != View.GONE) { - val lp = child.layoutParams as LayoutParams - - val width = child.measuredWidth - val height = child.measuredHeight - - val childLeft: Int - val childTop: Int - - var gravity = lp.gravity - if (gravity == -1) { - gravity = DEFAULT_CHILD_GRAVITY - } - - val layoutDirection = layoutDirection - val absoluteGravity = Gravity.getAbsoluteGravity(gravity, layoutDirection) - val verticalGravity = gravity and Gravity.VERTICAL_GRAVITY_MASK - - when (absoluteGravity and Gravity.HORIZONTAL_GRAVITY_MASK) { - Gravity.CENTER_HORIZONTAL -> childLeft = parentLeft + (parentRight - parentLeft - width) / 2 + - lp.leftMargin - lp.rightMargin - Gravity.RIGHT -> childLeft = parentRight - width - lp.rightMargin - Gravity.LEFT -> childLeft = parentLeft + lp.leftMargin - else -> childLeft = parentLeft + lp.leftMargin - } - - when (verticalGravity) { - Gravity.TOP -> childTop = parentTop + lp.topMargin - Gravity.CENTER_VERTICAL -> childTop = parentTop + (parentBottom - parentTop - height) / 2 + - lp.topMargin - lp.bottomMargin - Gravity.BOTTOM -> childTop = parentBottom - height - lp.bottomMargin - else -> childTop = parentTop + lp.topMargin - } - child.layout(childLeft, childTop, childLeft + width, childTop + height) - } - } - */ - override fun dispatchDraw(canvas: Canvas) { - if (backgroundBuffer == null) { -// if (childCount != 0 && getChildAt(0) is ImageView) { -// val drawable = (getChildAt(0) as ImageView).drawable -// if (drawable is BitmapDrawable) { -// backgroundBuffer = drawable.bitmap.extractAlpha() -// paint.apply { -// clearShadowLayer() -// maskFilter = BlurMaskFilter(shadowRadius, BlurMaskFilter.Blur.SOLID) -// } -// } -// } else { -// paint.apply { -// maskFilter = null -// setShadowLayer(shadowRadius, 0f, 0f, shadowColor) -// } -// } - drawBuffer() - } - val buffer = backgroundBuffer ?: return - canvas.drawBitmap(buffer, 0f, 0f, null) - canvas.clipPath(cardBackgroundShape) - super.dispatchDraw(canvas) - } - - private fun drawBuffer() { - backgroundBuffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888) - val buffer = backgroundBuffer ?: return - val canvas = Canvas(buffer) - calcBackgroundShape() - canvas.drawPath(cardBackgroundShape, paint) - } - - fun cleanCache() { - backgroundBuffer?.recycle() - backgroundBuffer = null - } - - private fun calcBackgroundShape() { - cardBackgroundShape.reset() - //边界区域 - val cardRect = RectF(0f, 0f, width.toFloat(), height.toFloat()).apply { - left += (shadowFlags and LEFT_SHADOW_MASK ushr LEFT_SHADOW_SHIFT) * shadowRadius - top += (shadowFlags and TOP_SHADOW_MASK ushr TOP_SHADOW_SHIFT) * shadowRadius - right -= (shadowFlags and RIGHT_SHADOW_MASK ushr RIGHT_SHADOW_SHIFT) * shadowRadius - bottom -= (shadowFlags and BOTTOM_SHADOW_MASK ushr BOTTOM_SHADOW_SHIFT) * shadowRadius - } - //通过op运算剪裁出圆角 - cardBackgroundShape.addRect(cardRect, Path.Direction.CW) - calcCorner(cardCornerRadiusUpperLeft, cardRect.left, cardRect.top, 1, 1) - calcCorner(cardCornerRadiusUpperRight, cardRect.right, cardRect.top, -1, 1) - calcCorner(cardCornerRadiusLowerRight, cardRect.right, cardRect.bottom, -1, -1) - calcCorner(cardCornerRadiusLowerLeft, cardRect.left, cardRect.bottom, 1, -1) - } - - private fun calcCorner(cornerRadius: Int, x: Float, y: Float, xSign: Int, ySign: Int) { - val circle = Path() - circle.addCircle(x, y, Math.abs(cornerRadius.toFloat()), Path.Direction.CW) - if (cornerRadius != 0) { - cardBackgroundShape -= circle - if (cornerRadius > 0) { - circle.offset(cornerRadius.toFloat() * xSign, cornerRadius.toFloat() * ySign) - cardBackgroundShape += circle - } - } - } - - private operator fun Path.minusAssign(path: Path) { - op(path, Path.Op.DIFFERENCE) - } - - private operator fun Path.plusAssign(path: Path) { - op(path, Path.Op.UNION) - } - - override fun onDetachedFromWindow() { - super.onDetachedFromWindow() - backgroundBuffer?.recycle() - backgroundBuffer = null - } - - fun setCardBackgroundColor(@ColorInt color: Int) { - backgroundBuffer = null - paint.color = color - } - - val cardBackgroundColor get() = paint.color - - fun setCardCornerRadius(upperLeft: Int, upperRight: Int, lowerRight: Int, lowerLeft: Int) { - cardCornerRadiusUpperLeft = upperLeft - cardCornerRadiusUpperRight = upperRight - cardCornerRadiusLowerRight = lowerRight - cardCornerRadiusLowerLeft = lowerLeft - } - - override fun setPadding(left: Int, top: Int, right: Int, bottom: Int) { - val changed = contentPaddingLeft != left || contentPaddingTop != top - || contentPaddingRight != right || contentPaddingBottom != bottom - if (changed) { - contentPaddingLeft = left - contentPaddingTop = top - contentPaddingRight = right - contentPaddingBottom = bottom - requestLayout() - } - } - - override fun setPaddingRelative(start: Int, top: Int, end: Int, bottom: Int) = when (layoutDirection) { - View.LAYOUT_DIRECTION_LTR -> setPadding(start, top, end, bottom) - else -> setPadding(end, top, start, bottom) - } - - /** - * 设置阴影的显示,true为显示,否则不显示 - */ - fun setShadow(left: Boolean, top: Boolean, right: Boolean, bottom: Boolean) { - val flags = (bottom.toInt() shl BOTTOM_SHADOW_SHIFT) or - (right.toInt() shl RIGHT_SHADOW_SHIFT) or - (top.toInt() shl TOP_SHADOW_SHIFT) or - (left.toInt() shl LEFT_SHADOW_SHIFT) - if (shadowFlags != flags) { - shadowFlags = flags - backgroundBuffer = null - } - val shadowRadius = shadowRadius.toInt() - super.setPadding(left.toInt() * shadowRadius, top.toInt() * shadowRadius, - right.toInt() * shadowRadius, bottom.toInt() * shadowRadius) - } - - private fun setShadow(shadowFlags: Int) { - setShadow((shadowFlags and LEFT_SHADOW_MASK).toBoolean(), - (shadowFlags and TOP_SHADOW_MASK).toBoolean(), - (shadowFlags and RIGHT_SHADOW_MASK).toBoolean(), - (shadowFlags and BOTTOM_SHADOW_MASK).toBoolean()) - } - - private fun Boolean.toInt() = if (this) 1 else 0 - - private fun Int.toBoolean() = this != 0 - - override fun generateLayoutParams(attrs: AttributeSet?) = LayoutParams(context, attrs) - - override fun generateDefaultLayoutParams() = LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT) - - override fun generateLayoutParams(p: ViewGroup.LayoutParams?) = LayoutParams(p) - - override fun checkLayoutParams(p: ViewGroup.LayoutParams?) = p is LayoutParams - - private fun dip(dpValue: Int) = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpValue.toFloat(), resources.displayMetrics) - - class LayoutParams : MarginLayoutParams { - constructor(c: Context?, attrs: AttributeSet?) : super(c, attrs) - constructor(width: Int, height: Int) : super(width, height) - // constructor(width: Int, height: Int, gravity: Int): super(width, height, gravity) - constructor(source: ViewGroup.LayoutParams) : super(source) - - constructor(source: MarginLayoutParams) : super(source) -// constructor(source: LayoutParams): super(source) { -// this.gravity = source.gravity -// } - } +package com.mredrock.cyxbs.config.view + +import android.content.Context +import android.content.res.TypedArray +import android.graphics.* +import android.util.AttributeSet +import android.util.TypedValue +import android.view.Gravity +import android.view.ViewGroup +import android.view.ViewGroup.LayoutParams +import androidx.annotation.ColorInt +import com.mredrock.cyxbs.config.R + +/** + * Created By jay68 on 2018/8/27. + */ +open class JCardViewPlus(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : ViewGroup(context, attrs, defStyleAttr) { + companion object { + @JvmStatic + val DEFAULT_CARD_BACKGROUND_COLOR = Color.parseColor("#ffffff") + @JvmStatic + val DEFAULT_SHADER_COLOR = Color.parseColor("#fefefe") + + const val DEFAULT_CHILD_GRAVITY = Gravity.TOP or Gravity.START + + const val LEFT_SHADOW_MASK = 0x1 + const val TOP_SHADOW_MASK = 0x2 + const val RIGHT_SHADOW_MASK = 0x4 + const val BOTTOM_SHADOW_MASK = 0x8 + + private const val LEFT_SHADOW_SHIFT = 0 + private const val TOP_SHADOW_SHIFT = 1 + private const val RIGHT_SHADOW_SHIFT = 2 + private const val BOTTOM_SHADOW_SHIFT = 3 + } + + constructor(context: Context) : this(context, null) + constructor(context: Context, attrs: AttributeSet?) : this(context, attrs, 0) + + private var cardBackgroundShape: Path = Path() + + @ColorInt + var shadowColor: Int = DEFAULT_SHADER_COLOR + set(value) { + field = value + backgroundBuffer = null + paint.apply { + setShadowLayer(shadowRadius, 0f, 0f, value) + } + } + var shadowRadius: Float = dip(10) + set(value) { + field = value + backgroundBuffer = null + paint.apply { + setShadowLayer(value, 0f, 0f, shadowColor) + } + } + private var shadowFlags: Int = 0xF + + private var cardCornerRadiusUpperLeft: Int = 0 + private var cardCornerRadiusUpperRight: Int = 0 + private var cardCornerRadiusLowerLeft: Int = 0 + private var cardCornerRadiusLowerRight: Int = 0 + + private var contentPaddingLeft: Int = 0 + private var contentPaddingTop: Int = 0 + private var contentPaddingBottom: Int = 0 + private var contentPaddingRight: Int = 0 + + private val paint: Paint + private var backgroundBuffer: Bitmap? = null + + init { + if (childCount > 1) { + throw IllegalStateException("JCardViewPlus can only support one child") + } + setBackgroundColor(Color.TRANSPARENT) + paint = Paint(Paint.DITHER_FLAG or Paint.ANTI_ALIAS_FLAG or Paint.FILTER_BITMAP_FLAG) + val typedArray = context.obtainStyledAttributes(attrs, R.styleable.JCardViewPlus) + val cardBackgroundColor = typedArray.getColor(R.styleable.JCardViewPlus_cardBackgroundColor, DEFAULT_CARD_BACKGROUND_COLOR) + setCardBackgroundColor(cardBackgroundColor) + initShadow(typedArray) + initCardRadius(typedArray) + initContentPadding(typedArray) + typedArray.recycle() + } + + private fun initShadow(typedArray: TypedArray) { + shadowRadius = typedArray.getDimension(R.styleable.JCardViewPlus_shadowRadius, shadowRadius) + shadowFlags = typedArray.getInt(R.styleable.JCardViewPlus_shadowFlags, shadowFlags) + shadowColor = typedArray.getColor(R.styleable.JCardViewPlus_shadowColor, DEFAULT_SHADER_COLOR) + setShadow(shadowFlags) + } + + private fun initCardRadius(typedArray: TypedArray) { + val cardCornerRadius = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_cardCornerRadius, -1) + if (cardCornerRadius != -1) { + cardCornerRadiusUpperLeft = cardCornerRadius + cardCornerRadiusUpperRight = cardCornerRadius + cardCornerRadiusLowerLeft = cardCornerRadius + cardCornerRadiusLowerRight = cardCornerRadius + } else { + cardCornerRadiusUpperLeft = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_cardCornerRadiusUpperLeft, 0) + cardCornerRadiusUpperRight = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_cardCornerRadiusUpperRight, 0) + cardCornerRadiusLowerLeft = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_cardCornerRadiusLowerLeft, 0) + cardCornerRadiusLowerRight = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_cardCornerRadiusLowerRight, 0) + } + } + + private fun initContentPadding(typedArray: TypedArray) { + val contentPadding = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_contentPadding, -1) + if (contentPadding > 0) { + contentPaddingLeft = contentPadding + contentPaddingTop = contentPadding + contentPaddingBottom = contentPadding + contentPaddingRight = contentPadding + return + } + + val horizontalContentPadding = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_horizontalContentPadding, -1) + val verticalContentPadding = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_verticalContentPadding, -1) + contentPaddingLeft = horizontalContentPadding + contentPaddingTop = verticalContentPadding + contentPaddingBottom = verticalContentPadding + contentPaddingRight = horizontalContentPadding + if (contentPaddingLeft < 0) { + contentPaddingLeft = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_contentPaddingLeft, 0) + contentPaddingRight = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_contentPaddingRight, 0) + } + if (contentPaddingTop < 0) { + contentPaddingTop = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_contentPaddingTop, 0) + contentPaddingBottom = typedArray.getDimensionPixelOffset(R.styleable.JCardViewPlus_contentPaddingBottom, 0) + } + } + + override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { + if (childCount != 0) { + measureChildWithMargins(getChildAt(0), widthMeasureSpec, contentPaddingLeft + contentPaddingRight, + heightMeasureSpec, contentPaddingTop + contentPaddingBottom) + val child = getChildAt(0) + super.setMeasuredDimension(getMeasureSpec(widthMeasureSpec, child.measuredWidth, paddingLeft + paddingRight + contentPaddingLeft + contentPaddingRight), + getMeasureSpec(heightMeasureSpec, child.measuredHeight, paddingTop + paddingBottom + contentPaddingTop + contentPaddingBottom)) + } else { + super.setMeasuredDimension(widthMeasureSpec, heightMeasureSpec) + } + } + + private fun getMeasureSpec(measureSpec: Int, childSize: Int, padding: Int): Int { + val size = MeasureSpec.getSize(measureSpec) + val mode = MeasureSpec.getMode(measureSpec) + return when (mode) { + MeasureSpec.EXACTLY -> measureSpec + + MeasureSpec.AT_MOST -> { + MeasureSpec.makeMeasureSpec(Math.min(size, childSize + padding), MeasureSpec.EXACTLY) + } + + MeasureSpec.UNSPECIFIED -> { + MeasureSpec.makeMeasureSpec(childSize + padding, MeasureSpec.EXACTLY) + } + + else -> measureSpec + } + } + + override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) { + if (childCount <= 0) { + return + } + val parentLeft = paddingLeft + contentPaddingLeft + val parentTop = paddingTop + contentPaddingTop + val child = getChildAt(0) + val lp = child.layoutParams as LayoutParams + val childLeft = parentLeft + lp.leftMargin + val childTop = parentTop + lp.topMargin + child.layout(childLeft, childTop, childLeft + child.measuredWidth, childTop + child.measuredHeight) +// layoutChildren(left, top, right, bottom) + } + + /* + private fun layoutChildren(left: Int, top: Int, right: Int, bottom: Int) { + val parentLeft = paddingLeft + contentPaddingLeft + val parentRight = right - left - paddingRight - contentPaddingRight + + val parentTop = paddingTop + contentPaddingTop + val parentBottom = bottom - top - paddingBottom - contentPaddingBottom + + val child = getChildAt(0) + if (child.visibility != View.GONE) { + val lp = child.layoutParams as LayoutParams + + val width = child.measuredWidth + val height = child.measuredHeight + + val childLeft: Int + val childTop: Int + + var gravity = lp.gravity + if (gravity == -1) { + gravity = DEFAULT_CHILD_GRAVITY + } + + val layoutDirection = layoutDirection + val absoluteGravity = Gravity.getAbsoluteGravity(gravity, layoutDirection) + val verticalGravity = gravity and Gravity.VERTICAL_GRAVITY_MASK + + when (absoluteGravity and Gravity.HORIZONTAL_GRAVITY_MASK) { + Gravity.CENTER_HORIZONTAL -> childLeft = parentLeft + (parentRight - parentLeft - width) / 2 + + lp.leftMargin - lp.rightMargin + Gravity.RIGHT -> childLeft = parentRight - width - lp.rightMargin + Gravity.LEFT -> childLeft = parentLeft + lp.leftMargin + else -> childLeft = parentLeft + lp.leftMargin + } + + when (verticalGravity) { + Gravity.TOP -> childTop = parentTop + lp.topMargin + Gravity.CENTER_VERTICAL -> childTop = parentTop + (parentBottom - parentTop - height) / 2 + + lp.topMargin - lp.bottomMargin + Gravity.BOTTOM -> childTop = parentBottom - height - lp.bottomMargin + else -> childTop = parentTop + lp.topMargin + } + child.layout(childLeft, childTop, childLeft + width, childTop + height) + } + } + */ + override fun dispatchDraw(canvas: Canvas) { + if (backgroundBuffer == null) { +// if (childCount != 0 && getChildAt(0) is ImageView) { +// val drawable = (getChildAt(0) as ImageView).drawable +// if (drawable is BitmapDrawable) { +// backgroundBuffer = drawable.bitmap.extractAlpha() +// paint.apply { +// clearShadowLayer() +// maskFilter = BlurMaskFilter(shadowRadius, BlurMaskFilter.Blur.SOLID) +// } +// } +// } else { +// paint.apply { +// maskFilter = null +// setShadowLayer(shadowRadius, 0f, 0f, shadowColor) +// } +// } + drawBuffer() + } + val buffer = backgroundBuffer ?: return + canvas.drawBitmap(buffer, 0f, 0f, null) + canvas.clipPath(cardBackgroundShape) + super.dispatchDraw(canvas) + } + + private fun drawBuffer() { + backgroundBuffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888) + val buffer = backgroundBuffer ?: return + val canvas = Canvas(buffer) + calcBackgroundShape() + canvas.drawPath(cardBackgroundShape, paint) + } + + fun cleanCache() { + backgroundBuffer?.recycle() + backgroundBuffer = null + } + + private fun calcBackgroundShape() { + cardBackgroundShape.reset() + //边界区域 + val cardRect = RectF(0f, 0f, width.toFloat(), height.toFloat()).apply { + left += (shadowFlags and LEFT_SHADOW_MASK ushr LEFT_SHADOW_SHIFT) * shadowRadius + top += (shadowFlags and TOP_SHADOW_MASK ushr TOP_SHADOW_SHIFT) * shadowRadius + right -= (shadowFlags and RIGHT_SHADOW_MASK ushr RIGHT_SHADOW_SHIFT) * shadowRadius + bottom -= (shadowFlags and BOTTOM_SHADOW_MASK ushr BOTTOM_SHADOW_SHIFT) * shadowRadius + } + //通过op运算剪裁出圆角 + cardBackgroundShape.addRect(cardRect, Path.Direction.CW) + calcCorner(cardCornerRadiusUpperLeft, cardRect.left, cardRect.top, 1, 1) + calcCorner(cardCornerRadiusUpperRight, cardRect.right, cardRect.top, -1, 1) + calcCorner(cardCornerRadiusLowerRight, cardRect.right, cardRect.bottom, -1, -1) + calcCorner(cardCornerRadiusLowerLeft, cardRect.left, cardRect.bottom, 1, -1) + } + + private fun calcCorner(cornerRadius: Int, x: Float, y: Float, xSign: Int, ySign: Int) { + val circle = Path() + circle.addCircle(x, y, Math.abs(cornerRadius.toFloat()), Path.Direction.CW) + if (cornerRadius != 0) { + cardBackgroundShape -= circle + if (cornerRadius > 0) { + circle.offset(cornerRadius.toFloat() * xSign, cornerRadius.toFloat() * ySign) + cardBackgroundShape += circle + } + } + } + + private operator fun Path.minusAssign(path: Path) { + op(path, Path.Op.DIFFERENCE) + } + + private operator fun Path.plusAssign(path: Path) { + op(path, Path.Op.UNION) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + backgroundBuffer?.recycle() + backgroundBuffer = null + } + + fun setCardBackgroundColor(@ColorInt color: Int) { + backgroundBuffer = null + paint.color = color + } + + val cardBackgroundColor get() = paint.color + + fun setCardCornerRadius(upperLeft: Int, upperRight: Int, lowerRight: Int, lowerLeft: Int) { + cardCornerRadiusUpperLeft = upperLeft + cardCornerRadiusUpperRight = upperRight + cardCornerRadiusLowerRight = lowerRight + cardCornerRadiusLowerLeft = lowerLeft + } + + override fun setPadding(left: Int, top: Int, right: Int, bottom: Int) { + val changed = contentPaddingLeft != left || contentPaddingTop != top + || contentPaddingRight != right || contentPaddingBottom != bottom + if (changed) { + contentPaddingLeft = left + contentPaddingTop = top + contentPaddingRight = right + contentPaddingBottom = bottom + requestLayout() + } + } + + override fun setPaddingRelative(start: Int, top: Int, end: Int, bottom: Int) = when (layoutDirection) { + LAYOUT_DIRECTION_LTR -> setPadding(start, top, end, bottom) + else -> setPadding(end, top, start, bottom) + } + + /** + * 设置阴影的显示,true为显示,否则不显示 + */ + fun setShadow(left: Boolean, top: Boolean, right: Boolean, bottom: Boolean) { + val flags = (bottom.toInt() shl BOTTOM_SHADOW_SHIFT) or + (right.toInt() shl RIGHT_SHADOW_SHIFT) or + (top.toInt() shl TOP_SHADOW_SHIFT) or + (left.toInt() shl LEFT_SHADOW_SHIFT) + if (shadowFlags != flags) { + shadowFlags = flags + backgroundBuffer = null + } + val shadowRadius = shadowRadius.toInt() + super.setPadding(left.toInt() * shadowRadius, top.toInt() * shadowRadius, + right.toInt() * shadowRadius, bottom.toInt() * shadowRadius) + } + + private fun setShadow(shadowFlags: Int) { + setShadow((shadowFlags and LEFT_SHADOW_MASK).toBoolean(), + (shadowFlags and TOP_SHADOW_MASK).toBoolean(), + (shadowFlags and RIGHT_SHADOW_MASK).toBoolean(), + (shadowFlags and BOTTOM_SHADOW_MASK).toBoolean()) + } + + private fun Boolean.toInt() = if (this) 1 else 0 + + private fun Int.toBoolean() = this != 0 + + override fun generateLayoutParams(attrs: AttributeSet?) = LayoutParams(context, attrs) + + override fun generateDefaultLayoutParams() = LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT) + + override fun generateLayoutParams(p: ViewGroup.LayoutParams?) = LayoutParams(p) + + override fun checkLayoutParams(p: ViewGroup.LayoutParams?) = p is LayoutParams + + private fun dip(dpValue: Int) = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpValue.toFloat(), resources.displayMetrics) + + class LayoutParams : MarginLayoutParams { + constructor(c: Context?, attrs: AttributeSet?) : super(c, attrs) + constructor(width: Int, height: Int) : super(width, height) + // constructor(width: Int, height: Int, gravity: Int): super(width, height, gravity) + constructor(source: ViewGroup.LayoutParams) : super(source) + + constructor(source: MarginLayoutParams) : super(source) +// constructor(source: LayoutParams): super(source) { +// this.gravity = source.gravity +// } + } } \ No newline at end of file diff --git a/lib_config/src/main/res/values/attrs.xml b/lib_config/src/main/res/values/attrs.xml new file mode 100644 index 0000000000..524c3337d7 --- /dev/null +++ b/lib_config/src/main/res/values/attrs.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib_utils/src/main/java/com/mredrock/cyxbs/lib/utils/extensions/Toast.kt b/lib_utils/src/main/java/com/mredrock/cyxbs/lib/utils/extensions/Toast.kt index 761677d507..07330c4703 100644 --- a/lib_utils/src/main/java/com/mredrock/cyxbs/lib/utils/extensions/Toast.kt +++ b/lib_utils/src/main/java/com/mredrock/cyxbs/lib/utils/extensions/Toast.kt @@ -72,7 +72,7 @@ class CyxbsToast { val throwable = Throwable() // 获取堆栈信息 val path = throwable.stackTrace .toMutableList() - .apply { removeFirst() } // 从堆栈中去掉当前方法 + .apply { removeAt(0) } // 从堆栈中去掉当前方法 .filter { // 第一次先筛选出是自己代码中的方法栈 !it.isNativeMethod diff --git a/module_course/lib_course/src/main/java/com/mredrock/cyxbs/lib/course/item/overlap/AbstractOverlapSingleDayItem.kt b/module_course/lib_course/src/main/java/com/mredrock/cyxbs/lib/course/item/overlap/AbstractOverlapSingleDayItem.kt index c6ddccbf37..b6ceb36946 100644 --- a/module_course/lib_course/src/main/java/com/mredrock/cyxbs/lib/course/item/overlap/AbstractOverlapSingleDayItem.kt +++ b/module_course/lib_course/src/main/java/com/mredrock/cyxbs/lib/course/item/overlap/AbstractOverlapSingleDayItem.kt @@ -210,7 +210,7 @@ abstract class AbstractOverlapSingleDayItem : IOverlapItem, OverlapHelper.IOverl val diffSize = mChildInParent.size - mFreeAreaMap.size() // 移除掉多的子 View repeat(diffSize) { - val view = mChildInParent.removeLast() + val view = mChildInParent.removeAt(mChildInParent.lastIndex) mNetLayout.removeView(view) mChildInFree.add(view) } diff --git a/module_discover/src/main/java/com/mredrock/cyxbs/discover/pages/discover/DiscoverHomeFragment.kt b/module_discover/src/main/java/com/mredrock/cyxbs/discover/pages/discover/DiscoverHomeFragment.kt index 5eb601dec4..b27a4ae773 100644 --- a/module_discover/src/main/java/com/mredrock/cyxbs/discover/pages/discover/DiscoverHomeFragment.kt +++ b/module_discover/src/main/java/com/mredrock/cyxbs/discover/pages/discover/DiscoverHomeFragment.kt @@ -218,7 +218,7 @@ class DiscoverHomeFragment : BaseFragment() { maxLines = 1 overScrollMode = OVER_SCROLL_IF_CONTENT_SCROLLS - setTextColor(ContextCompat.getColor(context, R.color.common_menu_font_color_found)) + setTextColor(ContextCompat.getColor(context, R.color.discover_menu_font_color_found)) textSize = 15f setOnSingleClickListener { ARouter.getInstance().build(DISCOVER_NEWS_ITEM).withString("id", id).navigation() diff --git a/module_discover/src/main/java/com/mredrock/cyxbs/discover/utils/MoreFunctionProvider.kt b/module_discover/src/main/java/com/mredrock/cyxbs/discover/utils/MoreFunctionProvider.kt index d150a10212..749d1fdac6 100644 --- a/module_discover/src/main/java/com/mredrock/cyxbs/discover/utils/MoreFunctionProvider.kt +++ b/module_discover/src/main/java/com/mredrock/cyxbs/discover/utils/MoreFunctionProvider.kt @@ -15,7 +15,6 @@ import com.mredrock.cyxbs.config.route.DISCOVER_EMPTY_ROOM import com.mredrock.cyxbs.config.route.DISCOVER_GRADES import com.mredrock.cyxbs.config.sp.defaultSp import com.mredrock.cyxbs.discover.R -import com.mredrock.cyxbs.lib.utils.extensions.appContext import com.mredrock.cyxbs.lib.utils.logger.event.ClickEvent import com.mredrock.cyxbs.lib.utils.service.ServiceManager import java.lang.ref.SoftReference diff --git a/module_discover/src/main/res/drawable-xhdpi/discover_shape_jwzx_feeds.xml b/module_discover/src/main/res/drawable/discover_shape_jwzx_feeds.xml similarity index 75% rename from module_discover/src/main/res/drawable-xhdpi/discover_shape_jwzx_feeds.xml rename to module_discover/src/main/res/drawable/discover_shape_jwzx_feeds.xml index 28e72d4267..a8e5629541 100644 --- a/module_discover/src/main/res/drawable-xhdpi/discover_shape_jwzx_feeds.xml +++ b/module_discover/src/main/res/drawable/discover_shape_jwzx_feeds.xml @@ -1,7 +1,7 @@ - - - - + + + + \ No newline at end of file diff --git a/module_discover/src/main/res/drawable-xhdpi/discover_shape_jwzx_title.xml b/module_discover/src/main/res/drawable/discover_shape_jwzx_title.xml similarity index 69% rename from module_discover/src/main/res/drawable-xhdpi/discover_shape_jwzx_title.xml rename to module_discover/src/main/res/drawable/discover_shape_jwzx_title.xml index 6048a60190..b9b2fb84d2 100644 --- a/module_discover/src/main/res/drawable-xhdpi/discover_shape_jwzx_title.xml +++ b/module_discover/src/main/res/drawable/discover_shape_jwzx_title.xml @@ -1,7 +1,7 @@ - - - - + + + + \ No newline at end of file diff --git a/module_discover/src/main/res/drawable/discover_shape_more_function_recycler_item.xml b/module_discover/src/main/res/drawable/discover_shape_more_function_recycler_item.xml index ca93995ab9..4ee95b50f7 100644 --- a/module_discover/src/main/res/drawable/discover_shape_more_function_recycler_item.xml +++ b/module_discover/src/main/res/drawable/discover_shape_more_function_recycler_item.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/module_discover/src/main/res/drawable/discover_shape_more_function_recycler_item_chosen.xml b/module_discover/src/main/res/drawable/discover_shape_more_function_recycler_item_chosen.xml index 819eee9b4b..6e45c38a1d 100644 --- a/module_discover/src/main/res/drawable/discover_shape_more_function_recycler_item_chosen.xml +++ b/module_discover/src/main/res/drawable/discover_shape_more_function_recycler_item_chosen.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/module_discover/src/main/res/layout/discover_home_fragment.xml b/module_discover/src/main/res/layout/discover_home_fragment.xml index 411c30b8c4..2123e84dc8 100644 --- a/module_discover/src/main/res/layout/discover_home_fragment.xml +++ b/module_discover/src/main/res/layout/discover_home_fragment.xml @@ -20,7 +20,7 @@ android:layout_height="wrap_content" android:layout_marginTop="32dp" android:alpha="0.65" - android:textColor="@color/common_menu_font_color_found" + android:textColor="@color/discover_menu_font_color_found" android:textSize="14sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" @@ -122,7 +122,7 @@ android:layout_marginEnd="13dp" android:layout_marginBottom="2dp" android:text="@string/discover_news_jwzx" - android:textColor="@color/common_discover_academic_online_colors" + android:textColor="@color/discover_academic_online_colors" android:textSize="11sp" tools:ignore="SmallSp" /> diff --git a/module_discover/src/main/res/layout/discover_item_more_function.xml b/module_discover/src/main/res/layout/discover_item_more_function.xml index 07f9eb90f9..b59b11cbde 100644 --- a/module_discover/src/main/res/layout/discover_item_more_function.xml +++ b/module_discover/src/main/res/layout/discover_item_more_function.xml @@ -19,7 +19,7 @@ android:layout_gravity="center_horizontal" android:layout_marginTop="6dp" android:alpha="0.6" - android:textColor="@color/common_discovery_function_item_color" + android:textColor="@color/discovery_function_item_color" android:textSize="11sp" tools:text="教师查询" /> diff --git a/module_discover/src/main/res/values-night/colors.xml b/module_discover/src/main/res/values-night/colors.xml index d2654925be..d925005036 100644 --- a/module_discover/src/main/res/values-night/colors.xml +++ b/module_discover/src/main/res/values-night/colors.xml @@ -1,10 +1,10 @@ - #ffffff - #AFD2FB + #000000 + #5A5A5A - #15315B + #5A5A5A - #15315B + #8C8C8C \ No newline at end of file diff --git a/module_discover/src/main/res/values/colors.xml b/module_discover/src/main/res/values/colors.xml index 5f97b136be..68da16f84d 100644 --- a/module_discover/src/main/res/values/colors.xml +++ b/module_discover/src/main/res/values/colors.xml @@ -1,10 +1,10 @@ - #000000 - #5A5A5A + #ffffff + #AFD2FB - #5A5A5A + #15315B - #8C8C8C + #15315B \ No newline at end of file diff --git a/module_electricity/src/main/java/com/mredrock/cyxbs/electricity/fragment/ElectricityFeedFragment.kt b/module_electricity/src/main/java/com/mredrock/cyxbs/electricity/fragment/ElectricityFeedFragment.kt index 4afe59961c..d84446d6bd 100644 --- a/module_electricity/src/main/java/com/mredrock/cyxbs/electricity/fragment/ElectricityFeedFragment.kt +++ b/module_electricity/src/main/java/com/mredrock/cyxbs/electricity/fragment/ElectricityFeedFragment.kt @@ -129,12 +129,12 @@ class ElectricityFeedFragment : BaseFragment() { tv_electricity_feed_fee.text = SpannableStringBuilder(elecInf.getEleCost().toDouble().run { if (this < 0) { - "0" + "0.0" } else { this.toString() } }.plus("元")).apply { - setSpan(36.dp2px, 0, this.length - 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE) + setSpan(AbsoluteSizeSpan(36.dp2px), 0, this.length - 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE) setSpan( AbsoluteSizeSpan(13.dp2px), this.length - 1, diff --git a/module_electricity/src/main/res/drawable-xhdpi/electricity_shape_round.xml b/module_electricity/src/main/res/drawable/electricity_shape_round.xml similarity index 69% rename from module_electricity/src/main/res/drawable-xhdpi/electricity_shape_round.xml rename to module_electricity/src/main/res/drawable/electricity_shape_round.xml index 704e2f8f0f..7e905716da 100644 --- a/module_electricity/src/main/res/drawable-xhdpi/electricity_shape_round.xml +++ b/module_electricity/src/main/res/drawable/electricity_shape_round.xml @@ -1,5 +1,5 @@ - - - - + + + + \ No newline at end of file diff --git a/module_electricity/src/main/res/layout/electricity_dialog_dormitory_select.xml b/module_electricity/src/main/res/layout/electricity_dialog_dormitory_select.xml index d528669309..3fff392c03 100644 --- a/module_electricity/src/main/res/layout/electricity_dialog_dormitory_select.xml +++ b/module_electricity/src/main/res/layout/electricity_dialog_dormitory_select.xml @@ -55,7 +55,7 @@ android:layout_height="1dp" android:layout_marginTop="17dp" android:alpha="0.1" - android:background="@color/levelFourFontColor" + android:background="@color/config_level_four_font_color" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_dormitory_num" /> @@ -100,7 +100,7 @@ android:layout_height="1dp" android:layout_marginTop="16dp" android:alpha="0.1" - android:background="@color/levelFourFontColor" + android:background="@color/config_level_four_font_color" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/wp_dormitory_head" /> diff --git a/module_emptyroom/src/main/res/layout/emptyroom_activity_empty_room.xml b/module_emptyroom/src/main/res/layout/emptyroom_activity_empty_room.xml index 465a9f9428..d292e3f9da 100644 --- a/module_emptyroom/src/main/res/layout/emptyroom_activity_empty_room.xml +++ b/module_emptyroom/src/main/res/layout/emptyroom_activity_empty_room.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/common_window_background" + android:background="@color/config_window_background" android:fitsSystemWindows="true" android:orientation="vertical" tools:context="com.mredrock.cyxbs.discover.emptyroom.ui.EmptyRoomActivity"> @@ -53,11 +53,11 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - diff --git a/module_emptyroom/src/main/res/layout/emptyroom_grid_item.xml b/module_emptyroom/src/main/res/layout/emptyroom_grid_item.xml index f0b04cb642..aa5a040551 100644 --- a/module_emptyroom/src/main/res/layout/emptyroom_grid_item.xml +++ b/module_emptyroom/src/main/res/layout/emptyroom_grid_item.xml @@ -10,7 +10,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" - android:textColor="@color/common_level_one_font_color" + android:textColor="@color/config_level_one_font_color" android:textSize="13sp" /> \ No newline at end of file diff --git a/module_emptyroom/src/main/res/layout/emptyroom_recycle_item_query_option.xml b/module_emptyroom/src/main/res/layout/emptyroom_recycle_item_query_option.xml index c767693520..5edf18e4d2 100644 --- a/module_emptyroom/src/main/res/layout/emptyroom_recycle_item_query_option.xml +++ b/module_emptyroom/src/main/res/layout/emptyroom_recycle_item_query_option.xml @@ -12,7 +12,7 @@ android:paddingTop="2dp" android:paddingRight="15dp" android:paddingBottom="2dp" - android:textColor="@color/common_level_two_font_color" + android:textColor="@color/config_level_two_font_color" android:textSize="14sp" android:maxLines="1" tools:text="第一周" /> diff --git a/module_main/build.gradle.kts b/module_main/build.gradle.kts index d47c7370cd..f7c184963e 100644 --- a/module_main/build.gradle.kts +++ b/module_main/build.gradle.kts @@ -14,7 +14,7 @@ dependencies { && it != project && it.name != "module_app" // module_app 依赖 module_main,而不是反向依赖 && it.name != "lib_single" // lib_single 只跟单模块调试有关,单模块编译时单独依赖 - && it.name != "lib_debug" // lib_debug 会在 BaseApplicationPlugin 插件中单独依赖 + && it.name != "lib_debug" // lib_debug 单独依赖 }.forEach { "api"(it) } @@ -23,6 +23,8 @@ dependencies { useARouter() dependencies { + debugImplementation(projects.libDebug) + implementation(libs.bundles.projectBase) implementation(libs.bundles.views) implementation(libs.bundles.network) diff --git a/module_mine/src/main/java/com/mredrock/cyxbs/mine/util/widget/UserFragmentItem.java b/module_mine/src/main/java/com/mredrock/cyxbs/mine/util/widget/UserFragmentItem.java index 66f0b33466..dd49bd609f 100644 --- a/module_mine/src/main/java/com/mredrock/cyxbs/mine/util/widget/UserFragmentItem.java +++ b/module_mine/src/main/java/com/mredrock/cyxbs/mine/util/widget/UserFragmentItem.java @@ -12,7 +12,7 @@ import androidx.annotation.Nullable; -import com.mredrock.cyxbs.common.component.JCardViewPlus; +import com.mredrock.cyxbs.config.view.JCardViewPlus; import com.mredrock.cyxbs.mine.R; diff --git a/module_mine/src/main/res/layout/mine_activity_homepage_head.xml b/module_mine/src/main/res/layout/mine_activity_homepage_head.xml index c3b38f77df..1a7fd8abec 100644 --- a/module_mine/src/main/res/layout/mine_activity_homepage_head.xml +++ b/module_mine/src/main/res/layout/mine_activity_homepage_head.xml @@ -54,7 +54,7 @@ android:layout_height="97dp" android:layout_marginStart="16dp" android:src="@drawable/mine_ic_head_test" - app:civ_border_color="@color/common_grades_activity_tl_white" + app:civ_border_color="@android:color/white" app:civ_border_width="1dp" app:layout_constraintBottom_toTopOf="@+id/fl_head_background" app:layout_constraintStart_toStartOf="parent" diff --git a/module_mine/src/main/res/layout/mine_slide_identity_item.xml b/module_mine/src/main/res/layout/mine_slide_identity_item.xml index e46475e552..da3295b13c 100644 --- a/module_mine/src/main/res/layout/mine_slide_identity_item.xml +++ b/module_mine/src/main/res/layout/mine_slide_identity_item.xml @@ -33,7 +33,7 @@ android:layout_toRightOf="@id/iv_item_setting" android:gravity="bottom" android:text="设置" - android:textColor="@color/common_grades_activity_tl_white" /> + android:textColor="@android:color/white" /> @@ -58,7 +58,7 @@ android:layout_marginLeft="7dp" android:layout_toRightOf="@id/iv_item_delete" android:text="删除" - android:textColor="@color/common_grades_activity_tl_white" /> + android:textColor="@android:color/white" />