diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/CustomDrawable.java b/app/src/main/java/com/mango/moshen/treasurefairy/CustomDrawable.java deleted file mode 100644 index d3b4e5670..000000000 --- a/app/src/main/java/com/mango/moshen/treasurefairy/CustomDrawable.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.mango.moshen.treasurefairy; - -import android.graphics.Canvas; -import android.graphics.ColorFilter; -import android.graphics.Paint; -import android.graphics.Path; -import android.graphics.PorterDuff; -import android.graphics.PorterDuffXfermode; -import android.graphics.drawable.Drawable; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -class CustomDrawable extends Drawable { - private final Paint srcPaint; - private final Drawable innerDrawable; - /** - * 使用时需要自定义path - */ - private Path srcPath = new Path(); - private final PorterDuffXfermode xFermode =new PorterDuffXfermode(PorterDuff.Mode.CLEAR); - - public CustomDrawable(Drawable innerDrawable) { - this.innerDrawable = innerDrawable; - // path默认实现 - srcPath.addRect(100, 100, 200, 200, Path.Direction.CW); - srcPaint = new Paint(Paint.ANTI_ALIAS_FLAG); - srcPaint.setColor(0xffffffff); - } - - /** - * 设置内部透明的部分 - */ - public void setSrcPath(Path srcPath) { - this.srcPath = srcPath; - } - - @Override - public void draw(@NonNull Canvas canvas) { - innerDrawable.setBounds(getBounds()); - if (srcPath == null || srcPath.isEmpty()) { - innerDrawable.draw(canvas); - } else { - // 将绘制操作保存到新的图层 - int saveCount = canvas.saveLayer(0, 0, getBounds().width(), getBounds().height(), srcPaint, - Canvas.ALL_SAVE_FLAG); - // 绘制目标图 - innerDrawable.draw(canvas); - // 设置混合模式 - srcPaint.setXfermode(xFermode); - // src 绘制源图 - canvas.drawPath(srcPath, srcPaint); - // 清除混合模式 - srcPaint.setXfermode(null); - // 还原画布 - canvas.restoreToCount(saveCount); - } - } - - @Override - public void setAlpha(int alpha) { - innerDrawable.setAlpha(alpha); - } - - @Override - public void setColorFilter(@Nullable ColorFilter colorFilter) { - innerDrawable.setColorFilter(colorFilter); - } - - @Override - public int getOpacity() { - return innerDrawable.getOpacity(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/HomeFairyActivity.kt b/app/src/main/java/com/mango/moshen/treasurefairy/HomeFairyActivity.kt index 260d04eb2..1e925c9a7 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/HomeFairyActivity.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/HomeFairyActivity.kt @@ -4,7 +4,6 @@ import android.animation.ObjectAnimator import android.annotation.SuppressLint import android.content.Context import android.content.Intent -import android.graphics.Color import android.graphics.Path import android.text.style.ForegroundColorSpan import android.view.* @@ -15,11 +14,15 @@ import androidx.core.content.ContextCompat import androidx.core.graphics.toColorInt import com.mango.core.UriProvider import com.mango.core.treasurefairy.PrizeInfo -import com.mango.core.utils.LogUtils import com.mango.moshen.R import com.mango.moshen.base.BaseViewBindingActivity import com.mango.moshen.common.widget.dialog.DialogManager import com.mango.moshen.databinding.TreasureFairyDialogHomeBinding +import com.mango.moshen.treasurefairy.dialog.ForestFairyDialog +import com.mango.moshen.treasurefairy.dialog.HomeMorePopupWindow +import com.mango.moshen.treasurefairy.dialog.HomePrizeDialog +import com.mango.moshen.treasurefairy.dialog.MyFairyDialog +import com.mango.moshen.treasurefairy.view.CustomDrawable import com.mango.moshen.ui.webview.FairyDialogWebViewActivity import com.mango.moshen.utils.SpannableBuilder import com.netease.nim.uikit.common.util.sys.ScreenUtil @@ -143,12 +146,13 @@ class HomeFairyActivity : BaseViewBindingActivity() { diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/ForestPrizeDialog.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/ForestPrizeDialog.kt similarity index 94% rename from app/src/main/java/com/mango/moshen/treasurefairy/ForestPrizeDialog.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/ForestPrizeDialog.kt index ec2c53def..b158d389d 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/ForestPrizeDialog.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/ForestPrizeDialog.kt @@ -1,10 +1,9 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.annotation.SuppressLint import android.os.Bundle import android.view.Gravity import android.view.WindowManager -import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.view.updateLayoutParams import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.GridLayoutManager @@ -13,6 +12,8 @@ import com.mango.core.treasurefairy.PrizeInfo import com.mango.moshen.R import com.mango.moshen.base.BaseDialog import com.mango.moshen.databinding.TreasureFairyDialogForestPrizeBinding +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.adapter.ForestPrizeAdapter import com.mango.moshen.ui.utils.RVDelegate import com.netease.nim.uikit.common.util.sys.ScreenUtil diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/ForestRecordDialog.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/ForestRecordDialog.kt similarity index 91% rename from app/src/main/java/com/mango/moshen/treasurefairy/ForestRecordDialog.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/ForestRecordDialog.kt index edddd3c17..0411cf448 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/ForestRecordDialog.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/ForestRecordDialog.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.annotation.SuppressLint import android.os.Bundle @@ -9,6 +9,8 @@ import com.mango.moshen.R import com.mango.moshen.avroom.adapter.RoomVPAdapter import com.mango.moshen.base.BaseDialog import com.mango.moshen.databinding.TreasureFairyDialogForestRecordBinding +import com.mango.moshen.treasurefairy.fragment.ForestPrizesFragment +import com.mango.moshen.treasurefairy.fragment.ForestRecordFragment class ForestRecordDialog : BaseDialog() { diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/HomeMorePopupWindow.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/HomeMorePopupWindow.kt similarity index 96% rename from app/src/main/java/com/mango/moshen/treasurefairy/HomeMorePopupWindow.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/HomeMorePopupWindow.kt index 6050f7059..33004d8df 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/HomeMorePopupWindow.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/HomeMorePopupWindow.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.content.Context import android.graphics.Color diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/HomePrizeDialog.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/HomePrizeDialog.kt similarity index 92% rename from app/src/main/java/com/mango/moshen/treasurefairy/HomePrizeDialog.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/HomePrizeDialog.kt index 6f6572a57..86568e2d2 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/HomePrizeDialog.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/HomePrizeDialog.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.annotation.SuppressLint import android.os.Bundle @@ -7,11 +7,11 @@ import android.view.WindowManager import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager -import com.mango.core.room.game.GameInfo import com.mango.core.treasurefairy.PrizeInfo -import com.mango.moshen.R import com.mango.moshen.base.BaseDialog import com.mango.moshen.databinding.TreasureFairyDialogHomePrizeBinding +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.adapter.HomePrizeAdapter import com.mango.moshen.ui.utils.RVDelegate class HomePrizeDialog : BaseDialog() { diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairyDialog.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairyDialog.kt similarity index 91% rename from app/src/main/java/com/mango/moshen/treasurefairy/MyFairyDialog.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairyDialog.kt index 1de4c2bb0..2268ab978 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairyDialog.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairyDialog.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.annotation.SuppressLint import android.os.Bundle @@ -6,13 +6,13 @@ import android.view.Gravity import android.view.WindowManager import androidx.fragment.app.activityViewModels import androidx.viewpager.widget.ViewPager -import com.mango.core.room.game.GameInfo import com.mango.moshen.R import com.mango.moshen.avroom.adapter.RoomVPAdapter import com.mango.moshen.base.BaseDialog import com.mango.moshen.databinding.TreasureFairyDialogMyFairyBinding -import com.mango.moshen.home.adapter.FragmentViewPagerAdapter -import com.mango.moshen.ui.utils.RVDelegate +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.fragment.MyFairyFragment +import com.mango.moshen.treasurefairy.view.MyFairyItemView class MyFairyDialog : BaseDialog() { diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairyRecordDialog.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairyRecordDialog.kt similarity index 91% rename from app/src/main/java/com/mango/moshen/treasurefairy/MyFairyRecordDialog.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairyRecordDialog.kt index 88786c440..b6e283f08 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairyRecordDialog.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairyRecordDialog.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.annotation.SuppressLint import android.os.Bundle @@ -6,10 +6,11 @@ import android.view.Gravity import android.view.WindowManager import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.LinearLayoutManager -import com.mango.core.treasurefairy.FairyInfo import com.mango.core.treasurefairy.SendFairyInfo import com.mango.moshen.base.BaseDialog import com.mango.moshen.databinding.TreasureFairyDialogMyFairyRecordBinding +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.adapter.MyFairyRecordAdapter import com.mango.moshen.ui.utils.RVDelegate class MyFairyRecordDialog : BaseDialog() { diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairySearchFriendsDialog.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairySearchFriendsDialog.kt similarity index 93% rename from app/src/main/java/com/mango/moshen/treasurefairy/MyFairySearchFriendsDialog.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairySearchFriendsDialog.kt index 771052ab3..b4596bb75 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairySearchFriendsDialog.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairySearchFriendsDialog.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.annotation.SuppressLint import android.os.Bundle @@ -11,6 +11,8 @@ import com.mango.core.gift.bean.SimpleUserInfo import com.mango.core.treasurefairy.FairyInfo import com.mango.moshen.base.BaseDialog import com.mango.moshen.databinding.TreasureFairyDialogMyFairySearchFriendBinding +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.adapter.MyFairyFriendsAdapter import com.mango.moshen.ui.utils.RVDelegate class MyFairySearchFriendsDialog : BaseDialog() { diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairySendDialog.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairySendDialog.kt similarity index 94% rename from app/src/main/java/com/mango/moshen/treasurefairy/MyFairySendDialog.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairySendDialog.kt index 216098657..8a4bb7ac8 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairySendDialog.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/MyFairySendDialog.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.annotation.SuppressLint import android.graphics.Color @@ -8,12 +8,11 @@ import android.view.Gravity import android.view.WindowManager import androidx.core.graphics.toColorInt import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager import com.mango.core.gift.bean.SimpleUserInfo import com.mango.core.treasurefairy.FairyInfo import com.mango.moshen.base.BaseDialog import com.mango.moshen.databinding.TreasureFairyDialogMyFairySendBinding -import com.mango.moshen.ui.utils.RVDelegate +import com.mango.moshen.treasurefairy.FairyViewModel import com.mango.moshen.ui.utils.load import com.mango.moshen.utils.SpannableBuilder diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/TestFairyDialog.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/TestFairyDialog.kt similarity index 90% rename from app/src/main/java/com/mango/moshen/treasurefairy/TestFairyDialog.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/TestFairyDialog.kt index 9a92e0979..c0c4278d2 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/TestFairyDialog.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/TestFairyDialog.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.annotation.SuppressLint import android.os.Bundle @@ -10,6 +10,9 @@ import com.mango.moshen.R import com.mango.moshen.avroom.adapter.RoomVPAdapter import com.mango.moshen.base.BaseDialog import com.mango.moshen.databinding.TreasureFairyDialogTestFairyBinding +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.view.MyFairyItemView +import com.mango.moshen.treasurefairy.fragment.TestFairyFragment class TestFairyDialog : BaseDialog() { diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/TestFairyRecordDialog.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/TestFairyRecordDialog.kt similarity index 91% rename from app/src/main/java/com/mango/moshen/treasurefairy/TestFairyRecordDialog.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/TestFairyRecordDialog.kt index efcb0e563..2b6dd21d9 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/TestFairyRecordDialog.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/TestFairyRecordDialog.kt @@ -1,14 +1,14 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.annotation.SuppressLint import android.os.Bundle import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.LinearLayoutManager -import com.mango.core.treasurefairy.PrizeInfo import com.mango.core.treasurefairy.TestFairyRecordInfo import com.mango.moshen.base.BaseDialog import com.mango.moshen.databinding.TreasureFairyDialogTestFairyRecordBinding -import com.mango.moshen.databinding.TreasureFairyFragmentForestRecordBinding +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.adapter.TestFairyRecordAdapter import com.mango.moshen.ui.utils.RVDelegate import com.netease.nim.uikit.common.util.sys.ScreenUtil diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/TestFairyResultDialog.kt b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/TestFairyResultDialog.kt similarity index 81% rename from app/src/main/java/com/mango/moshen/treasurefairy/TestFairyResultDialog.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/dialog/TestFairyResultDialog.kt index 8f8894158..2c0daea4f 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/TestFairyResultDialog.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/dialog/TestFairyResultDialog.kt @@ -1,22 +1,17 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.dialog import android.annotation.SuppressLint import android.os.Bundle import android.view.Gravity import android.view.WindowManager -import androidx.constraintlayout.widget.ConstraintLayout -import androidx.core.view.updateLayoutParams import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import com.mango.core.treasurefairy.FairyInfo -import com.mango.core.treasurefairy.PrizeInfo -import com.mango.moshen.R import com.mango.moshen.base.BaseDialog -import com.mango.moshen.databinding.TreasureFairyDialogForestPrizeBinding import com.mango.moshen.databinding.TreasureFairyDialogTestFairyResultBinding +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.adapter.TestFairyResultAdapter import com.mango.moshen.ui.utils.RVDelegate -import com.netease.nim.uikit.common.util.sys.ScreenUtil class TestFairyResultDialog : BaseDialog() { diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/ForestPrizesChildFragment.kt b/app/src/main/java/com/mango/moshen/treasurefairy/fragment/ForestPrizesChildFragment.kt similarity index 91% rename from app/src/main/java/com/mango/moshen/treasurefairy/ForestPrizesChildFragment.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/fragment/ForestPrizesChildFragment.kt index decf9a059..094ecd8bb 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/ForestPrizesChildFragment.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/fragment/ForestPrizesChildFragment.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.fragment import android.annotation.SuppressLint import android.os.Bundle @@ -8,6 +8,8 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.mango.core.treasurefairy.PrizeInfo import com.mango.moshen.base.BaseViewBindingFragment import com.mango.moshen.databinding.TreasureFairyFragmentForestPrizesChildBinding +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.adapter.ForestPrizesChildAdapter import com.mango.moshen.ui.utils.RVDelegate class ForestPrizesChildFragment : diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/ForestPrizesFragment.kt b/app/src/main/java/com/mango/moshen/treasurefairy/fragment/ForestPrizesFragment.kt similarity index 93% rename from app/src/main/java/com/mango/moshen/treasurefairy/ForestPrizesFragment.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/fragment/ForestPrizesFragment.kt index d741a38fb..a5b811b95 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/ForestPrizesFragment.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/fragment/ForestPrizesFragment.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.fragment import android.annotation.SuppressLint import android.os.Bundle @@ -8,8 +8,7 @@ import androidx.fragment.app.Fragment import androidx.viewpager.widget.ViewPager import com.mango.moshen.base.BaseViewBindingFragment import com.mango.moshen.databinding.TreasureFairyFragmentForestPrizesBinding -import com.mango.moshen.ui.user.UserInfoGiftFragment -import com.mango.moshen.ui.user.adapter.UserInfoIndicatorAdapter +import com.mango.moshen.treasurefairy.adapter.ForestIndicatorAdapter import com.mango.moshen.ui.user.adapter.UserInfoPagerAdapter import com.mango.moshen.ui.widget.magicindicator.MagicIndicator import com.mango.moshen.ui.widget.magicindicator.ViewPagerHelper diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/ForestRecordFragment.kt b/app/src/main/java/com/mango/moshen/treasurefairy/fragment/ForestRecordFragment.kt similarity index 90% rename from app/src/main/java/com/mango/moshen/treasurefairy/ForestRecordFragment.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/fragment/ForestRecordFragment.kt index 2d07cc8fd..6ae4faf55 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/ForestRecordFragment.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/fragment/ForestRecordFragment.kt @@ -1,13 +1,14 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.fragment import android.annotation.SuppressLint import android.os.Bundle import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import com.mango.core.treasurefairy.PrizeInfo import com.mango.moshen.base.BaseViewBindingFragment import com.mango.moshen.databinding.TreasureFairyFragmentForestRecordBinding +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.adapter.ForestPrizesRecordAdapter import com.mango.moshen.ui.utils.RVDelegate class ForestRecordFragment : BaseViewBindingFragment() { diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairyFragment.kt b/app/src/main/java/com/mango/moshen/treasurefairy/fragment/MyFairyFragment.kt similarity index 86% rename from app/src/main/java/com/mango/moshen/treasurefairy/MyFairyFragment.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/fragment/MyFairyFragment.kt index 87f19010c..571ce018f 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairyFragment.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/fragment/MyFairyFragment.kt @@ -1,19 +1,14 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.fragment import android.annotation.SuppressLint import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager import androidx.fragment.app.activityViewModels -import com.mango.core.room.game.GameInfo -import com.mango.core.treasurefairy.FairyInfo import com.mango.moshen.R -import com.mango.moshen.base.BaseDialog -import com.mango.moshen.base.BaseFragment import com.mango.moshen.base.BaseViewBindingFragment -import com.mango.moshen.databinding.TreasureFairyDialogMyFairyBinding import com.mango.moshen.databinding.TreasureFairyFragmentMyFairyBinding -import com.mango.moshen.ui.utils.RVDelegate +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.view.MyFairyItemView +import com.mango.moshen.treasurefairy.dialog.MyFairySearchFriendsDialog class MyFairyFragment : BaseViewBindingFragment() { diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/TestFairyFragment.kt b/app/src/main/java/com/mango/moshen/treasurefairy/fragment/TestFairyFragment.kt similarity index 86% rename from app/src/main/java/com/mango/moshen/treasurefairy/TestFairyFragment.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/fragment/TestFairyFragment.kt index 36ebcbf56..2830bd071 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/TestFairyFragment.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/fragment/TestFairyFragment.kt @@ -1,24 +1,17 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.fragment import android.annotation.SuppressLint import android.os.Bundle -import android.view.Gravity -import android.view.WindowManager import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager -import com.mango.core.gift.bean.SimpleUserInfo -import com.mango.core.room.game.GameInfo import com.mango.core.treasurefairy.FairyInfo -import com.mango.core.treasurefairy.SendFairyInfo -import com.mango.core.utils.toast -import com.mango.moshen.R -import com.mango.moshen.base.BaseDialog -import com.mango.moshen.base.BaseFragment import com.mango.moshen.base.BaseViewBindingFragment -import com.mango.moshen.databinding.TreasureFairyDialogMyFairyBinding -import com.mango.moshen.databinding.TreasureFairyFragmentMyFairyBinding import com.mango.moshen.databinding.TreasureFairyFragmentTestFairyBinding +import com.mango.moshen.treasurefairy.FairyViewModel +import com.mango.moshen.treasurefairy.view.MyFairyItemView +import com.mango.moshen.treasurefairy.adapter.TestFairyAdapter +import com.mango.moshen.treasurefairy.dialog.TestFairyResultDialog import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.utils.load diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/view/CustomDrawable.kt b/app/src/main/java/com/mango/moshen/treasurefairy/view/CustomDrawable.kt new file mode 100644 index 000000000..dbf3bcd4e --- /dev/null +++ b/app/src/main/java/com/mango/moshen/treasurefairy/view/CustomDrawable.kt @@ -0,0 +1,63 @@ +package com.mango.moshen.treasurefairy.view + +import android.graphics.* +import android.graphics.drawable.Drawable + +class CustomDrawable(private val innerDrawable: Drawable) : Drawable() { + private val srcPaint: Paint + + /** + * 使用时需要自定义path + */ + private var srcPath: Path = Path() + private val xFermode = PorterDuffXfermode(PorterDuff.Mode.CLEAR) + + /** + * 设置内部透明的部分 + */ + fun setSrcPath(srcPath: Path) { + this.srcPath = srcPath + } + + override fun draw(canvas: Canvas) { + innerDrawable.bounds = bounds + if (srcPath.isEmpty) { + innerDrawable.draw(canvas) + } else { + // 将绘制操作保存到新的图层 + val saveCount = canvas.saveLayer( + 0f, 0f, bounds.width().toFloat(), bounds.height().toFloat(), srcPaint, + Canvas.ALL_SAVE_FLAG + ) + // 绘制目标图 + innerDrawable.draw(canvas) + // 设置混合模式 + srcPaint.xfermode = xFermode + // src 绘制源图 + canvas.drawPath(srcPath, srcPaint) + // 清除混合模式 + srcPaint.xfermode = null + // 还原画布 + canvas.restoreToCount(saveCount) + } + } + + override fun setAlpha(alpha: Int) { + innerDrawable.alpha = alpha + } + + override fun setColorFilter(colorFilter: ColorFilter?) { + innerDrawable.colorFilter = colorFilter + } + + override fun getOpacity(): Int { + return innerDrawable.opacity + } + + init { + // path默认实现 + srcPath.addRect(100f, 100f, 200f, 200f, Path.Direction.CW) + srcPaint = Paint(Paint.ANTI_ALIAS_FLAG) + srcPaint.color = -0x1 + } +} \ No newline at end of file diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/HomeItemView.kt b/app/src/main/java/com/mango/moshen/treasurefairy/view/HomeItemView.kt similarity index 95% rename from app/src/main/java/com/mango/moshen/treasurefairy/HomeItemView.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/view/HomeItemView.kt index 1c2da3f42..74750407e 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/HomeItemView.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/view/HomeItemView.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.view import android.content.Context import android.util.AttributeSet diff --git a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairyItemView.kt b/app/src/main/java/com/mango/moshen/treasurefairy/view/MyFairyItemView.kt similarity index 99% rename from app/src/main/java/com/mango/moshen/treasurefairy/MyFairyItemView.kt rename to app/src/main/java/com/mango/moshen/treasurefairy/view/MyFairyItemView.kt index 8d86fd925..10d517c10 100644 --- a/app/src/main/java/com/mango/moshen/treasurefairy/MyFairyItemView.kt +++ b/app/src/main/java/com/mango/moshen/treasurefairy/view/MyFairyItemView.kt @@ -1,4 +1,4 @@ -package com.mango.moshen.treasurefairy +package com.mango.moshen.treasurefairy.view import android.annotation.SuppressLint import android.content.Context diff --git a/app/src/main/java/com/mango/moshen/ui/im/chat/MsgViewHolderFairy.java b/app/src/main/java/com/mango/moshen/ui/im/chat/MsgViewHolderFairy.java index 40addbd14..ea8603c53 100644 --- a/app/src/main/java/com/mango/moshen/ui/im/chat/MsgViewHolderFairy.java +++ b/app/src/main/java/com/mango/moshen/ui/im/chat/MsgViewHolderFairy.java @@ -10,21 +10,13 @@ import com.mango.core.auth.AuthModel; import com.mango.core.gift.bean.SimpleUserInfo; import com.mango.core.im.custom.bean.CustomAttachment; import com.mango.core.im.custom.bean.FairySendAttachment; -import com.mango.core.im.custom.bean.NewbieHelloAttachment; -import com.mango.core.room.bean.RoomInfo; -import com.mango.core.room.model.AvRoomModel; import com.mango.core.treasurefairy.FairyInfo; -import com.mango.core.utils.net.RxHelper; import com.mango.moshen.R; -import com.mango.moshen.avroom.activity.AVRoomActivity; -import com.mango.moshen.treasurefairy.MyFairySendDialog; +import com.mango.moshen.treasurefairy.dialog.MyFairySendDialog; import com.mango.moshen.ui.utils.ImageLoadUtils; -import com.mango.xchat_android_library.utils.SingleToastUtil; import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; -import io.reactivex.functions.BiConsumer; - /** * Created by chenran on 2018/1/2. */ diff --git a/app/src/main/res/layout/treasure_fairy_dialog_home.xml b/app/src/main/res/layout/treasure_fairy_dialog_home.xml index d0b17d26d..cf69e2b19 100644 --- a/app/src/main/res/layout/treasure_fairy_dialog_home.xml +++ b/app/src/main/res/layout/treasure_fairy_dialog_home.xml @@ -71,7 +71,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_title" /> - - - - - - - - - - - - - - - - -