diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1e6e9334..829e7c028 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1320,6 +1320,14 @@
android:name=".avroom.newuserchargegift.NewUserChargeGiftDialog"
android:theme="@style/dialogactivity" />
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/yizhuan/erban/ui/webview/DialogWebViewActivity.java b/app/src/main/java/com/yizhuan/erban/ui/webview/DialogWebViewActivity.java
index 7bb3a497b..b24d5b09f 100644
--- a/app/src/main/java/com/yizhuan/erban/ui/webview/DialogWebViewActivity.java
+++ b/app/src/main/java/com/yizhuan/erban/ui/webview/DialogWebViewActivity.java
@@ -3,6 +3,8 @@ package com.yizhuan.erban.ui.webview;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Gravity;
@@ -39,8 +41,6 @@ public class DialogWebViewActivity extends CommonWebViewActivity {
showTitleBar = getIntent().getBooleanExtra("showTitleBar", true);
if (!showTitleBar) {
layoutTitleBar.setVisibility(View.GONE);
- webView.setBackgroundColor(Color.TRANSPARENT);
- webView.getBackground().setAlpha(0);
}
}
diff --git a/app/src/main/res/layout/box_ranking_list_item.xml b/app/src/main/res/layout/box_ranking_list_item.xml
index 55274e734..f9783cf6e 100644
--- a/app/src/main/res/layout/box_ranking_list_item.xml
+++ b/app/src/main/res/layout/box_ranking_list_item.xml
@@ -1,75 +1,97 @@
+ android:background="@drawable/bg_common_touch_while"
+ android:orientation="vertical">
-
+
+
+
+
+
+
+
+ android:layout_gravity="center_vertical"
+ />
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+ android:drawableEnd="@drawable/treasure_box_diamond"
+ android:drawablePadding="5dp"
+ />
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/pull_radish_ranking_list_item.xml b/app/src/main/res/layout/pull_radish_ranking_list_item.xml
new file mode 100644
index 000000000..81f81cc40
--- /dev/null
+++ b/app/src/main/res/layout/pull_radish_ranking_list_item.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/PullRadishActivity.java b/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/PullRadishActivity.java
index 6fd85a960..5ade4a6e5 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/PullRadishActivity.java
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/PullRadishActivity.java
@@ -8,8 +8,12 @@ import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.view.Gravity;
+import android.view.LayoutInflater;
import android.view.View;
+import android.view.ViewGroup;
import android.view.WindowManager;
+import android.widget.LinearLayout;
+import android.widget.TextView;
import com.netease.nim.uikit.StatusBarUtil;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
@@ -18,8 +22,10 @@ import com.yizhuan.erban.base.BaseBindingActivity;
import com.yizhuan.erban.common.svga.SimpleSvgaCallback;
import com.yizhuan.erban.databinding.ActivityPullRadishBinding;
import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
+import com.yizhuan.treasure_box.bean.PrizeInfo;
import com.yizhuan.treasure_box.model.IBoxModel;
import com.yizhuan.treasure_box.model.RadishModel;
+import com.yizhuan.xchat_android_core.DemoCache;
import com.yizhuan.xchat_android_core.UriProvider;
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
import com.yizhuan.xchat_android_core.manager.RoomEvent;
@@ -29,16 +35,22 @@ import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
import com.yizhuan.xchat_android_library.utils.TextWatcherWrapper;
+import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
+import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
@ActLayoutRes(R.layout.activity_pull_radish)
public class PullRadishActivity extends BaseBindingActivity implements View.OnClickListener {
+ private final Runnable removeRunnable = () -> mBinding.llPrizeHint.removeAllViews();
+ private final String[] openKeyNumbers = new String[]{"1", "10", "50", "100"};
+ private int keyIndex = 0;
private volatile int keyNum = -1;
private AnimatorSet animatorSet;
private int boxType = IBoxModel.BOX_TYPE_NORMAL;
private int height;
+ private ArrayList hintPrizeCacheList = new ArrayList<>();
public static void start(Context context) {
Intent starter = new Intent(context, PullRadishActivity.class);
@@ -53,6 +65,7 @@ public class PullRadishActivity extends BaseBindingActivity 200) {
mBinding.editNum.setText("200");
- mBinding.editNum.setSelection(3);
SingleToastUtil.showToast("一次性最多只能拔200次");
}
}
@@ -113,22 +125,20 @@ public class PullRadishActivity extends BaseBindingActivity {
- mBinding.ivOpen.setEnabled(true);
- changeKeyNum(openBoxResult.getRemainKeyNum());
- RadishResultDialog.newInstance(openBoxResult).show(this);
- }
- )
- .subscribe();
+ .flatMap(openBoxResult -> {
+ mBinding.ivOpen.setEnabled(true);
+ changeKeyNum(openBoxResult.getRemainKeyNum());
+ if (DemoCache.readRadishTips()) {
+ RadishResultDialog.newInstance(openBoxResult).show(this);
+ }
+ return Observable.fromIterable(openBoxResult.getPrizeItemList());
+ })
+ .filter(prizeInfo -> prizeInfo.getPrizeLevel() > 2)
+ .subscribe(prizeInfo -> hintPrizeCacheList.add(prizeInfo));
+ }
+
+
+ @SuppressLint("CheckResult")
+ private void looperHintPrize() {
+ Observable.interval(0, 250, TimeUnit.MILLISECONDS)
+ .compose(bindToLifecycle())
+ .observeOn(AndroidSchedulers.mainThread())
+ .filter(aLong -> hintPrizeCacheList.size() > 0)
+ .subscribe(aLong -> addPrizeHintView(hintPrizeCacheList.remove(0))
+ , e -> looperHintPrize());//出错了继续looper......
+ }
+
+ private void addPrizeHintView(PrizeInfo prizeInfo) {
+ mBinding.llPrizeHint.removeCallbacks(removeRunnable);
+ mBinding.llPrizeHint.postDelayed(removeRunnable, 15000);
+ LinearLayout linearLayout = (LinearLayout) LayoutInflater.from(this).inflate(R.layout.item_box_prize_hint, null);
+ LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ScreenUtil.dip2px(21));
+ layoutParams.setMargins(0, 0, 0, ScreenUtil.dip2px(5));
+ linearLayout.setLayoutParams(layoutParams);
+ switch (prizeInfo.getPrizeLevel()) {
+ case 3:
+ default:
+ linearLayout.setBackgroundResource(R.drawable.bg_box_prize_hint_v3);
+ break;
+ case 4:
+ linearLayout.setBackgroundResource(R.drawable.bg_box_prize_hint_v4);
+ break;
+ case 5:
+ linearLayout.setBackgroundResource(R.drawable.bg_box_prize_hint_v5);
+ break;
+ }
+ mBinding.llPrizeHint.addView(linearLayout);
+ if (mBinding.llPrizeHint.getChildCount() > 6) {
+ mBinding.llPrizeHint.removeViewAt(0);
+ }
+ for (int i = 0; i < mBinding.llPrizeHint.getChildCount(); i++) {
+ ObjectAnimator.ofFloat(mBinding.llPrizeHint.getChildAt(i), "translationY", ScreenUtil.dip2px(21), 0)
+ .setDuration(200)
+ .start();
+ }
+
+ ((TextView) linearLayout.findViewById(R.id.tv_prize_name)).setText(prizeInfo.getPrizeName());
+ ((TextView) linearLayout.findViewById(R.id.tv_prize_num)).setText("x" + prizeInfo.getPrizeNum());
}
/**
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/RadishRankingFragment.java b/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/RadishRankingFragment.java
index 73a86bb5b..5a2f0f7ab 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/RadishRankingFragment.java
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/RadishRankingFragment.java
@@ -30,7 +30,7 @@ import org.greenrobot.eventbus.ThreadMode;
public class RadishRankingFragment extends BaseMvpFragment implements IRadishRankingView, BaseQuickAdapter.RequestLoadMoreListener {
private RecyclerView recyclerView;
private SwipeRefreshLayout swipeRefresh;
- private BoxRankingListAdapter mAdapter;
+ private RadishRankingListAdapter mAdapter;
private int datetype;
public static RadishRankingFragment newInstance(int datetype) {
@@ -93,7 +93,7 @@ public class RadishRankingFragment extends BaseMvpFragment {
+
+ private Context mContext;
+
+ public RadishRankingListAdapter(Context context) {
+ super(R.layout.pull_radish_ranking_list_item);
+ this.mContext = context;
+ }
+
+ @Override
+ protected void convert(BaseViewHolder baseViewHolder, final BoxRankingInfo.RankVosBean rankVosBeans) {
+ if (rankVosBeans == null) return;
+
+ baseViewHolder.setText(R.id.tv_userName, rankVosBeans.getNick()).setText(R.id.tv_amount, rankVosBeans.getAmount() + "");
+ ImageLoadKt.loadAvatar(baseViewHolder.getView(R.id.iv_avatar), rankVosBeans.getAvatar());
+ TextView tvPosition = baseViewHolder.getView(R.id.tv_position);
+ ImageView ivPosition = baseViewHolder.getView(R.id.iv_position);
+ switch (baseViewHolder.getLayoutPosition()) {
+ case 0:
+ tvPosition.setVisibility(View.GONE);
+ ivPosition.setVisibility(View.VISIBLE);
+ ivPosition.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_box_ranking_first));
+ break;
+ case 1:
+ tvPosition.setVisibility(View.GONE);
+ ivPosition.setVisibility(View.VISIBLE);
+ ivPosition.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_box_ranking_second));
+ break;
+ case 2:
+ tvPosition.setVisibility(View.GONE);
+ ivPosition.setVisibility(View.VISIBLE);
+ ivPosition.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_box_ranking_third));
+ break;
+ default:
+ tvPosition.setVisibility(View.VISIBLE);
+ ivPosition.setVisibility(View.GONE);
+ tvPosition.setText(baseViewHolder.getLayoutPosition() + 1 + "");
+ break;
+ }
+ }
+}
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/RadishResultDialog.kt b/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/RadishResultDialog.kt
index 5b20a08b2..7a8e1f593 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/RadishResultDialog.kt
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/shipantics/RadishResultDialog.kt
@@ -1,6 +1,7 @@
package com.yizhuan.erban.shipantics
import android.os.Bundle
+import android.view.WindowManager
import android.widget.ImageView
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
@@ -14,6 +15,7 @@ import com.yizhuan.erban.ui.utils.RVDelegate
import com.yizhuan.erban.ui.utils.load
import com.yizhuan.treasure_box.bean.OpenBoxResult
import com.yizhuan.treasure_box.bean.PrizeInfo
+import com.yizhuan.xchat_android_core.DemoCache
class RadishResultDialog :
BaseDialog() {
@@ -29,7 +31,6 @@ class RadishResultDialog :
return fragment
}
}
-
private val openBoxResult: OpenBoxResult by lazy { requireArguments().getSerializable("openBoxResult")!! as OpenBoxResult }
private lateinit var rvDelegate: RVDelegate
@@ -42,10 +43,23 @@ class RadishResultDialog :
helper.getView(R.id.iv_gift).load(item.prizeImgUrl)
}
})
- .setLayoutManager(GridLayoutManager(context, 5, RecyclerView.VERTICAL, false))
+ .setLayoutManager(
+ if (openBoxResult.prizeItemList?.size == 1) {
+ LinearLayoutManager(context)
+ } else {
+ GridLayoutManager(context, 5, RecyclerView.VERTICAL, false)
+ }
+ )
.setRecyclerView(binding.recyclerView)
.build()
+
rvDelegate.setNewData(openBoxResult.prizeItemList)
+
+ binding.ivClose.setOnClickListener { dismissAllowingStateLoss() }
+
+ binding.checkBox.setOnCheckedChangeListener { _, isChecked ->
+ DemoCache.saveRadishTips(!isChecked)
+ }
}
}
\ No newline at end of file
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/GoldBoxHelper.java b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/GoldBoxHelper.java
index e1f44e21a..c8404b3de 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/GoldBoxHelper.java
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/GoldBoxHelper.java
@@ -5,6 +5,7 @@ import android.content.Context;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentActivity;
+import com.yizhuan.erban.shipantics.PullRadishActivity;
import com.yizhuan.erban.treasure_box.activity.TreasureBoxActivity;
import com.yizhuan.erban.treasure_box.activity.TreasureBoxHonourActivity;
import com.yizhuan.erban.treasure_box.fragment.ChooseTreasureBoxDialogFragment;
@@ -67,7 +68,8 @@ public class GoldBoxHelper {
});
chooseTreasureBoxDialogFragment.show(((FragmentActivity) context).getSupportFragmentManager(), "chooseTreasureBoxDialogFragment");
} else {
- TreasureBoxActivity.start(context);
+ //TreasureBoxActivity.start(context);
+ PullRadishActivity.start(context);
}
}
diff --git a/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v3.9.png b/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v3.9.png
index 5b6bac257..845e279d3 100644
Binary files a/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v3.9.png and b/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v3.9.png differ
diff --git a/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v4.9.png b/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v4.9.png
index 50a841d51..d7a64f3ea 100644
Binary files a/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v4.9.png and b/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v4.9.png differ
diff --git a/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v5.9.png b/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v5.9.png
index f11c036e4..8685b4459 100644
Binary files a/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v5.9.png and b/app/src/module_treasure_box/res/drawable-xhdpi/bg_box_prize_hint_v5.9.png differ
diff --git a/app/src/module_treasure_box/res/drawable-xhdpi/pull_radish_bg.png b/app/src/module_treasure_box/res/drawable-xhdpi/pull_radish_bg.png
index 5d63a09b9..a3a3be722 100644
Binary files a/app/src/module_treasure_box/res/drawable-xhdpi/pull_radish_bg.png and b/app/src/module_treasure_box/res/drawable-xhdpi/pull_radish_bg.png differ
diff --git a/app/src/module_treasure_box/res/drawable-xhdpi/pull_radish_tips_checked.png b/app/src/module_treasure_box/res/drawable-xhdpi/pull_radish_tips_checked.png
new file mode 100644
index 000000000..c4fc12f45
Binary files /dev/null and b/app/src/module_treasure_box/res/drawable-xhdpi/pull_radish_tips_checked.png differ
diff --git a/app/src/module_treasure_box/res/drawable-xhdpi/pull_radish_tips_unchecked.png b/app/src/module_treasure_box/res/drawable-xhdpi/pull_radish_tips_unchecked.png
new file mode 100644
index 000000000..d66c2ad6c
Binary files /dev/null and b/app/src/module_treasure_box/res/drawable-xhdpi/pull_radish_tips_unchecked.png differ
diff --git a/app/src/module_treasure_box/res/drawable/selector_check_box_radish_tips.xml b/app/src/module_treasure_box/res/drawable/selector_check_box_radish_tips.xml
new file mode 100644
index 000000000..1ea2cedfe
--- /dev/null
+++ b/app/src/module_treasure_box/res/drawable/selector_check_box_radish_tips.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/module_treasure_box/res/layout/activity_pull_radish.xml b/app/src/module_treasure_box/res/layout/activity_pull_radish.xml
index 17c4d867d..251f91fa7 100644
--- a/app/src/module_treasure_box/res/layout/activity_pull_radish.xml
+++ b/app/src/module_treasure_box/res/layout/activity_pull_radish.xml
@@ -58,23 +58,12 @@
app:layout_constraintEnd_toEndOf="@id/iv_rank"
app:layout_constraintTop_toBottomOf="@id/iv_get_key" />
-
-
+
+
+
+ app:layout_constraintTop_toBottomOf="@id/iv_more" />
-
+
+
diff --git a/app/src/module_treasure_box/res/layout/item_box_prize_hint.xml b/app/src/module_treasure_box/res/layout/item_box_prize_hint.xml
index c15fe09c0..58546c937 100644
--- a/app/src/module_treasure_box/res/layout/item_box_prize_hint.xml
+++ b/app/src/module_treasure_box/res/layout/item_box_prize_hint.xml
@@ -19,9 +19,6 @@
android:lines="1"
android:textColor="@color/white"
android:textSize="11sp"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent"
tools:text="哈哈哈哈" />
\ No newline at end of file
diff --git a/app/src/module_treasure_box/res/layout/item_radish_result.xml b/app/src/module_treasure_box/res/layout/item_radish_result.xml
index 1cef445ae..cce34f7b0 100644
--- a/app/src/module_treasure_box/res/layout/item_radish_result.xml
+++ b/app/src/module_treasure_box/res/layout/item_radish_result.xml
@@ -21,7 +21,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
- android:gravity="center"
+ android:gravity="center_horizontal"
+ android:lines="2"
android:textColor="#ffa08161"
android:textSize="10sp"
tools:text="这个礼物*1" />
diff --git a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java
index 59fc3270a..e98a65ba9 100644
--- a/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java
+++ b/core/src/diff_src_erban/java/com/yizhuan/xchat_android_core/UriProvider.java
@@ -492,21 +492,21 @@ public class UriProvider {
* 航海帮助
*/
public static String getRadishHelp() {
- return JAVA_WEB_URL.concat("/yinyou/modules/rule/radishRule.html");
+ return JAVA_WEB_URL.concat("/yinyou/activity/act-sail/play_explain.html");
}
/**
* 航海记录
*/
public static String getRadishHistory() {
- return JAVA_WEB_URL.concat("/yinyou/modules/rank/index.html#/RadishRecord");
+ return JAVA_WEB_URL.concat("/yinyou/activity/act-sail/win_record.html");
}
/**
* 获取航海钥匙
*/
public static String getRadishKey() {
- return JAVA_WEB_URL.concat("/yinyou/activity/radish/index.html");
+ return JAVA_WEB_URL.concat("/yinyou/activity/act-sail/more.html");
}
}
diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/DemoCache.java b/core/src/main/java/com/yizhuan/xchat_android_core/DemoCache.java
index 6c65bea80..184e3b770 100644
--- a/core/src/main/java/com/yizhuan/xchat_android_core/DemoCache.java
+++ b/core/src/main/java/com/yizhuan/xchat_android_core/DemoCache.java
@@ -54,6 +54,8 @@ public class DemoCache {
private static final String KEY_ANCHOR_CARD_VIEW = "key_anchor_card_view";
private static final String KEY_ANCHOR_CARD_VIEW_TIME = "key_anchor_card_view_time";
private static final String KEY_LAUNCH_COUNT = "key_launch_count";
+ private static final String KEY_RADISH_TIPS = "key_radish_tips";
+
private static StatusBarNotificationConfig notificationConfig;
public static Long readSpeedyMessageGoneTime() {
@@ -293,5 +295,13 @@ public class DemoCache {
return SettingsPref.instance().getInt(KEY_LAUNCH_COUNT, -1);
}
+ public static void saveRadishTips(boolean value) {
+ SettingsPref.instance().putBoolean(KEY_RADISH_TIPS, value);
+ }
+
+ public static boolean readRadishTips() {
+ return SettingsPref.instance().getBoolean(KEY_RADISH_TIPS, true);
+ }
+
}