diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2418ac2c1..115818796 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -22,7 +22,9 @@
-
+
@@ -74,7 +76,7 @@
-
+
+ android:exported="true" />
+ android:theme="@android:style/Theme.Translucent.NoTitleBar" />
-
+
+ android:value="1a9cace2-da8a-4b49-a70d-9beefacf6096" />
+ android:value="16517" />
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+ android:screenOrientation="portrait"
+ android:windowSoftInputMode="stateHidden|adjustNothing" />
+ android:screenOrientation="portrait"
+ android:windowSoftInputMode="adjustResize" />
+ android:screenOrientation="portrait" />
+ android:screenOrientation="portrait"
+ android:windowSoftInputMode="stateHidden|adjustResize" />
-
+
diff --git a/app/src/main/java/com/yizhuan/erban/MainActivity.java b/app/src/main/java/com/yizhuan/erban/MainActivity.java
index 490baa872..f2c9fe4b7 100644
--- a/app/src/main/java/com/yizhuan/erban/MainActivity.java
+++ b/app/src/main/java/com/yizhuan/erban/MainActivity.java
@@ -9,9 +9,6 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
import android.text.TextUtils;
import android.util.Log;
import android.util.LongSparseArray;
@@ -21,6 +18,10 @@ import android.view.animation.LinearInterpolator;
import android.widget.LinearLayout;
import android.widget.TextView;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
import com.mcxiaoke.packer.helper.PackerNg;
import com.microquation.linkedme.android.LinkedME;
import com.netease.nim.uikit.api.NimUIKit;
@@ -82,8 +83,6 @@ import com.yizhuan.erban.quick_pass.QuickPassLoginAct;
import com.yizhuan.erban.radish.signin.SignDialogTimeManager;
import com.yizhuan.erban.service.DaemonService;
import com.yizhuan.erban.share.viewholder.InAppSharingMsgViewHolder;
-import com.yizhuan.erban.treasure_box.service.OpenBoxService;
-import com.yizhuan.erban.treasure_box.service.OpenHonourBoxService;
import com.yizhuan.erban.ui.im.RouterHandler;
import com.yizhuan.erban.ui.im.actions.GiftAction;
import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity;
@@ -994,12 +993,6 @@ public class MainActivity extends BaseMvpActivity
@Override
public void exitRoom(RoomInfo roomInfo) {
closeOpenRoomAnimation();
- if (OpenBoxService.isAutoOpenBox) {
- OpenBoxService.stop(this);
- }
- if (OpenHonourBoxService.isAutoOpenBox) {
- OpenHonourBoxService.stop(this);
- }
//ktv退出的时候需要用到
if (RtcEngineManager.get().isOpenKtv() && roomInfo != null) {
KtvMusicManager.INSTANCE.deleteUserAllChooseMusic(roomInfo.getUid()).subscribe();
diff --git a/app/src/main/java/com/yizhuan/erban/application/XChatApplication.java b/app/src/main/java/com/yizhuan/erban/application/XChatApplication.java
index 47fcc89d9..c3d312c00 100644
--- a/app/src/main/java/com/yizhuan/erban/application/XChatApplication.java
+++ b/app/src/main/java/com/yizhuan/erban/application/XChatApplication.java
@@ -313,7 +313,7 @@ public class XChatApplication extends Application {
// // save cache,留做切换账号备用
DemoCache.setNotificationConfig(config);
- MixPushConfig mixPushConfig = new MixPushConfig();
+ /* MixPushConfig mixPushConfig = new MixPushConfig();
mixPushConfig.hwCertificateName = "tutuHuaweiAndroid";
mixPushConfig.mzAppId = "125242";
@@ -327,12 +327,12 @@ public class XChatApplication extends Application {
mixPushConfig.vivoCertificateName = "qingxunVivoAndroid";
// 下架状态,没有完成接入
-// mixPushConfig.oppoAppId = "30156338";
-// mixPushConfig.oppoAppKey = "4659eff1cab747c48fb6f44e2f522e83";
-// mixPushConfig.oppoAppSercet = "8c6a21854c8045068247c7e1168e29a8";
-// mixPushConfig.oppoCertificateName = "qingxunOppoAndroid";
+ mixPushConfig.oppoAppId = "30156338";
+ mixPushConfig.oppoAppKey = "4659eff1cab747c48fb6f44e2f522e83";
+ mixPushConfig.oppoAppSercet = "8c6a21854c8045068247c7e1168e29a8";
+ mixPushConfig.oppoCertificateName = "qingxunOppoAndroid";
- options.mixPushConfig = mixPushConfig;
+ options.mixPushConfig = mixPushConfig;*/
return options;
}
diff --git a/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java b/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java
index f557137ce..085fd663c 100644
--- a/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java
+++ b/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java
@@ -7,10 +7,6 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
-import androidx.fragment.app.DialogFragment;
-import androidx.fragment.app.Fragment;
-import androidx.core.content.ContextCompat;
-import androidx.viewpager.widget.ViewPager;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextUtils;
@@ -23,6 +19,11 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import androidx.core.content.ContextCompat;
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
+import androidx.viewpager.widget.ViewPager;
+
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.netease.nim.uikit.common.util.log.LogUtil;
@@ -50,9 +51,7 @@ import com.yizhuan.erban.common.widget.CustomImageSpan;
import com.yizhuan.erban.common.widget.dialog.DialogManager;
import com.yizhuan.erban.home.adapter.FragmentViewPagerAdapter;
import com.yizhuan.erban.monsterhunting.MonsterHuntingActivity;
-import com.yizhuan.erban.treasure_box.service.OpenHonourBoxService;
import com.yizhuan.erban.ui.patriarch.help.LimitEnterRoomHelper;
-import com.yizhuan.erban.treasure_box.service.OpenBoxService;
import com.yizhuan.erban.ui.pay.ChargeActivity;
import com.yizhuan.erban.ui.user.UserInfoActivity;
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
@@ -96,13 +95,10 @@ import com.yizhuan.xchat_android_core.room.event.RoomClearScreenEvent;
import com.yizhuan.xchat_android_core.room.game.GameInfo;
import com.yizhuan.xchat_android_core.room.game.GameModel;
import com.yizhuan.xchat_android_core.room.pk.event.PKStateEvent;
-
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
-import com.yizhuan.xchat_android_core.super_admin.util.SuperAdminUtil;
-
import com.yizhuan.xchat_android_core.super_admin.util.SAdminOptUtil;
-
+import com.yizhuan.xchat_android_core.super_admin.util.SuperAdminUtil;
import com.yizhuan.xchat_android_core.user.UserModel;
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
@@ -828,12 +824,6 @@ public class AVRoomActivity extends BaseMvpActivity CommonWebViewActivity.start(context, "http://192.168.10.7:5503/"));
+ //vue测试地址
+ findViewById(R.id.rb_vue_test).setOnClickListener(v -> CommonWebViewActivity.start(context, "http://192.168.10.7:8080/"));
int enviroment = CommonPref.instance(BasicConfig.INSTANCE.getAppContext()).getInt(Env.KEY_ENVIRONMENT);
//根据ID找到RadioGroup实例
RadioGroup group = (RadioGroup) this.findViewById(R.id.radioGroup);
diff --git a/app/src/main/java/com/yizhuan/erban/ui/widget/TopRoundLinearLayout.java b/app/src/main/java/com/yizhuan/erban/ui/widget/TopRoundLinearLayout.java
new file mode 100644
index 000000000..db433b2b8
--- /dev/null
+++ b/app/src/main/java/com/yizhuan/erban/ui/widget/TopRoundLinearLayout.java
@@ -0,0 +1,62 @@
+package com.yizhuan.erban.ui.widget;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Path;
+import android.graphics.RectF;
+import android.util.AttributeSet;
+import android.widget.LinearLayout;
+
+import com.netease.nim.uikit.common.util.sys.ScreenUtil;
+
+/**
+ * 顶部圆角的LinearLayout,用户半屏的web view界面
+ * 注意需要设置背景才有效,没有背景ViewGroup不会调用draw方法
+ */
+
+public class TopRoundLinearLayout extends LinearLayout {
+
+ private Path mPath;
+ private int mRadius;
+ private int mWidth;
+ private int mHeight;
+ private int mLastRadius;
+
+ public TopRoundLinearLayout(Context context) {
+ super(context);
+ init();
+ }
+
+ public TopRoundLinearLayout(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init();
+ }
+
+ private void init() {
+ mPath = new Path();
+ mPath.setFillType(Path.FillType.EVEN_ODD);
+ mRadius = ScreenUtil.dip2px(10);
+ }
+
+ private void checkPathChanged() {
+ if (getWidth() == mWidth && getHeight() == mHeight && mLastRadius == mRadius) {
+ return;
+ }
+ mWidth = getWidth();
+ mHeight = getHeight();
+ mLastRadius = mRadius;
+ mPath.reset();
+ mPath.addRoundRect(new RectF(0, 0, mWidth, mHeight),
+ new float[]{mRadius, mRadius, mRadius, mRadius, 0, 0, 0, 0},
+ Path.Direction.CW);
+ }
+
+ @Override
+ public void draw(Canvas canvas) {
+ int saveCount = canvas.save();
+ checkPathChanged();
+ canvas.clipPath(mPath);
+ super.draw(canvas);
+ canvas.restoreToCount(saveCount);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_dialog_web_view.xml b/app/src/main/res/layout/activity_dialog_web_view.xml
index e5ba82eb5..eabea0dc6 100644
--- a/app/src/main/res/layout/activity_dialog_web_view.xml
+++ b/app/src/main/res/layout/activity_dialog_web_view.xml
@@ -1,17 +1,21 @@
-
+ android:background="@color/white"
+ android:orientation="vertical">
+
+
-
+
diff --git a/app/src/main/res/layout/activity_lab.xml b/app/src/main/res/layout/activity_lab.xml
index 234696859..7c1130063 100644
--- a/app/src/main/res/layout/activity_lab.xml
+++ b/app/src/main/res/layout/activity_lab.xml
@@ -35,5 +35,30 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试环境" />
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/module_quick_pass/java/com/yizhuan/erban/quick_pass/QuickPassLoginAct.java b/app/src/module_quick_pass/java/com/yizhuan/erban/quick_pass/QuickPassLoginAct.java
index 8032d20cb..27c0fe1ad 100644
--- a/app/src/module_quick_pass/java/com/yizhuan/erban/quick_pass/QuickPassLoginAct.java
+++ b/app/src/module_quick_pass/java/com/yizhuan/erban/quick_pass/QuickPassLoginAct.java
@@ -51,7 +51,7 @@ public class QuickPassLoginAct extends BaseLoginAct implements View.OnClickListe
* 基本权限管理
*/
private final String[] BASIC_PERMISSIONS = new String[]{
- Manifest.permission.READ_PHONE_STATE,
+ // Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
// Manifest.permission.CAMERA,
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxActivity.java b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxActivity.java
index b3f84b43c..5e95dbb41 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxActivity.java
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxActivity.java
@@ -1,164 +1,133 @@
package com.yizhuan.erban.treasure_box.activity;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
-import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.text.TextUtils;
+import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.AccelerateDecelerateInterpolator;
-import android.view.animation.Animation;
-import android.view.animation.AnimationUtils;
-import android.widget.ImageView;
-import com.bumptech.glide.request.target.SimpleTarget;
-import com.bumptech.glide.request.transition.Transition;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
-import com.netease.nim.uikit.support.glide.GlideApp;
import com.yizhuan.erban.R;
import com.yizhuan.erban.base.BaseBindingActivity;
import com.yizhuan.erban.databinding.ActivityTreasureBoxBinding;
-import com.yizhuan.erban.treasure_box.service.OpenBoxService;
-import com.yizhuan.erban.treasure_box.widget.PrizeFactor;
-import com.yizhuan.erban.treasure_box.widget.dialog.BaseBindingDialog;
import com.yizhuan.erban.treasure_box.widget.dialog.BoxMoreDialog;
import com.yizhuan.erban.treasure_box.widget.dialog.BuyKeyDialog;
import com.yizhuan.erban.treasure_box.widget.dialog.KeyDeficiencyDialog;
-import com.yizhuan.erban.ui.pay.ChargeActivity;
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
-import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil;
+import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
import com.yizhuan.treasure_box.bean.PrizeInfo;
import com.yizhuan.treasure_box.model.BoxModel;
-import com.yizhuan.xchat_android_core.auth.AuthModel;
-import com.yizhuan.xchat_android_core.exception.FailReasonException;
-import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
+import com.yizhuan.treasure_box.model.IBoxModel;
+import com.yizhuan.xchat_android_core.UriProvider;
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
import com.yizhuan.xchat_android_core.manager.RoomEvent;
import com.yizhuan.xchat_android_core.pay.PayModel;
import com.yizhuan.xchat_android_core.pay.bean.WalletInfo;
-import com.yizhuan.treasure_box.bean.KeyInfo;
-import com.yizhuan.treasure_box.bean.OpenBoxResult;
-import com.yizhuan.treasure_box.event.AutoOpenBoxEvent;
-import com.yizhuan.treasure_box.event.BoxBuyKeyEvent;
-import com.yizhuan.xchat_android_core.statistic.StatisticManager;
-import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
import com.yizhuan.xchat_android_core.utils.StringUtils;
-import com.yizhuan.xchat_android_core.utils.net.BalanceNotEnoughExeption;
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
import com.yizhuan.xchat_android_library.utils.FormatUtils;
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
@ActLayoutRes(R.layout.activity_treasure_box)
-public class TreasureBoxActivity extends BaseBindingDialog implements View.OnClickListener {
- private volatile double gold;
+public class TreasureBoxActivity extends BaseBindingActivity implements View.OnClickListener {
private int price = 20;
- private ImageView ivBox;
private volatile int keyNum;
- private AnimationDrawable eggAnim;
private ArrayList cacheList = new ArrayList<>();
- private Disposable disposable;
+ private ObjectAnimator translationXAnimator;
+ private ObjectAnimator translationYAnimator;
+ private int boxType = IBoxModel.BOX_TYPE_NORMAL;
- public TreasureBoxActivity(Context context) {
- super(context);
- width = WindowManager.LayoutParams.MATCH_PARENT;
- //这里用MATCH_PARENT 通知栏会变黑.......
- height = ScreenUtil.screenHeight;
- }
public static void start(Context context) {
- new TreasureBoxActivity(context).openDialog();
- /* Intent starter = new Intent(context, TreasureBoxActivity.class);
- //starter.putExtra();
- context.startActivity(starter);*/
+ Intent starter = new Intent(context, TreasureBoxActivity.class);
+ context.startActivity(starter);
}
-
@Override
protected void onCreate(Bundle savedInstanceState) {
- // requestWindowFeature(Window.FEATURE_NO_TITLE);
- // getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
- // getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ requestWindowFeature(Window.FEATURE_NO_TITLE);
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
+ getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, ScreenUtil.screenHeight);
+ getWindow().setGravity(Gravity.CENTER);
subscribeEvent();
}
- ObjectAnimator objectAnimator;
- ObjectAnimator objectAnimator1;
- @SuppressLint("CheckResult")
@Override
protected void init() {
- binding.setClick(this);
- ivBox = binding.ivBox;
+ mBinding.setClick(this);
+ translationXAnimator = ObjectAnimator.ofFloat(mBinding.ivGiftAnim, "translationX", 0,
+ ScreenUtil.screenWidth / 2f - ScreenUtil.dip2px(15 + 19)).setDuration(500);
+ translationXAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
+ translationXAnimator.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ mBinding.ivGiftAnim.setVisibility(View.GONE);
+ }
+ });
+ mBinding.ivBox.post(() -> {
+ translationYAnimator = ObjectAnimator.ofFloat(mBinding.ivGiftAnim, "translationY", 0,
+ ScreenUtil.screenHeight - (mBinding.ivBox.getBottom() + mBinding.ivBox.getTop()) / 2f - ScreenUtil.dip2px(55)).setDuration(500);
+ translationYAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
+ });
+ WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo();
+ if (walletInfo != null) {
+ mBinding.tvDiamondNum.setText(FormatUtils.formatBigDecimal(walletInfo.getDiamondNum()));
+ }
+ loadKeyInfo();
+ looperPrize();
+ }
- objectAnimator = ObjectAnimator.ofFloat(binding.ivGiftAnim,
- "translationX", 0, ScreenUtil.screenWidth / 2f).setDuration(500);
- objectAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
- objectAnimator1 = ObjectAnimator.ofFloat(binding.ivGiftAnim,
- "translationY", 0, ScreenUtil.screenHeight / 2f + 100).setDuration(500);
- objectAnimator1.setInterpolator(new AccelerateDecelerateInterpolator());
+ @SuppressLint("CheckResult")
+ private void loadKeyInfo(){
BoxModel.get()
- .getKeyInfo()
- //.compose(bindToLifecycle())
- .doOnError(throwable -> SingleToastUtil.showToast(throwable.getMessage()))
+ .getKeyInfo(boxType)
+ .compose(bindToLifecycle())
.subscribe(keyInfo -> {
changeKeyNum(keyInfo.getKeyNum());
price = keyInfo.getKeyPrice();
});
- WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo();
- if (walletInfo != null) gold = walletInfo.getGoldNum();
- binding.tvDiamondNum.setText(FormatUtils.formatBigDecimal(gold));
- binding.randomLayout.start();
- EventBus.getDefault().register(this);
- looperPrize();
}
- /* @Override
- @SuppressLint("CheckResult")
- protected void onResume() {
- super.onResume();
-
- }
- */
@Override
public void onClick(View v) {
switch (v.getId()) {
- /* case R.id.stv_help:
- BoxHelpActivity.start(this, binding.getRoot().getHeight(), binding.getRoot().getWidth());
+ case R.id.root_view:
+ finish();
break;
- case R.id.stv_jackpot:
- BoxPrizeActivity.start(this, binding.getRoot().getHeight(), binding.getRoot().getWidth());
- break;
- case R.id.stv_record:
- BoxPrizeRecordActivity.start(this, binding.getRoot().getHeight(), binding.getRoot().getWidth());
- break;*/
case R.id.iv_more:
new BoxMoreDialog(context).openDialog();
break;
+ case R.id.tv_rank:
+ DialogWebViewActivity.start(context, UriProvider.getBoxRank(), false);
+ break;
case R.id.iv_open:
- binding.svgaOpen.startAnimation();
- binding.ivOpen.setEnabled(false);
- ivBox.setImageResource(R.drawable.box_close_normal);
- openBox(StringUtils.toInt(binding.editNum.getText().toString()));
+ openBox(StringUtils.toInt(mBinding.editNum.getText().toString(), 0));
+ break;
+ case R.id.iv_sub:
+ mBinding.editNum.setText(String.valueOf(Math.max(StringUtils.toInt(mBinding.editNum.getText().toString(), 0) - 1, 0)));
+ break;
+ case R.id.iv_add:
+ mBinding.editNum.setText(String.valueOf(StringUtils.toInt(mBinding.editNum.getText().toString(), 0) + 1));
+ break;
+ case R.id.view_bg:
+ case R.id.iv_title:
+ //do nothing
break;
default:
break;
@@ -166,16 +135,9 @@ public class TreasureBoxActivity extends BaseBindingDialog binding.ivBox.setImageResource(R.drawable.box_close_normal);
-
- private Runnable runnableOpen = () -> {
- if (eggAnim == null) {
- eggAnim = (AnimationDrawable) getContext().getResources().getDrawable(R.drawable.anim_egg);
- } else {
- eggAnim.stop();
- }
- binding.ivBox.setImageDrawable(eggAnim);
- eggAnim.start();
- };
-
@SuppressLint("CheckResult")
private void openBox(int count) {
- /* if (checkKeyNum(count)) {
- binding.ivOpen.setEnabled(true);
+ mBinding.ivOpen.setEnabled(false);
+ if (checkKeyNum(count)) {
+ mBinding.ivOpen.setEnabled(true);
return;
- }*/
- // changeBoxStatus();
- BoxModel.get()
- .openBox(count, true)
- //.compose(bindToLifecycle())
- //.delay(1, TimeUnit.SECONDS)
- //delay后让转回主线程,不然刷新view会有问题
- .observeOn(AndroidSchedulers.mainThread())
+ }
+ mBinding.svgaOpen.startAnimation();
+ BoxModel.get().openBox(boxType, count, true)
+ .compose(bindToLifecycle())
.doOnError(throwable -> {
- binding.ivOpen.setEnabled(true);
- if (throwable instanceof FailReasonException) {
- FailReasonException failReasonException = (FailReasonException) throwable;
- switch (failReasonException.getCode()) {
- case BoxModel.ERROR_CODE_KEY_NUM_NOT_ENOUGH:
- break;
- case BalanceNotEnoughExeption.code:
- break;
- }
- }
+ mBinding.ivOpen.setEnabled(true);
SingleToastUtil.showToast(throwable.getMessage());
})
.subscribe(openBoxResult -> {
- //binding.svgaOpen.stopAnimation();
- //binding.randomLayout.addPrize(openBoxResult.getPrizeItemList());
changeKeyNum(openBoxResult.getRemainKeyNum());
- binding.ivOpen.setEnabled(true);
+ mBinding.ivOpen.setEnabled(true);
cacheList.addAll(openBoxResult.getPrizeItemList());
});
}
+ @SuppressLint("CheckResult")
private void looperPrize() {
- disposable = Observable.interval(0, 600, TimeUnit.MILLISECONDS)
+ Observable.interval(0, 600, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.filter(aLong -> cacheList.size() > 0)
.subscribe(aLong -> {
String url = cacheList.get(0).getPrizeImgUrl();
if (cacheList.size() > 0) cacheList.remove(0);
if (!TextUtils.isEmpty(url)) {
- objectAnimator.start();
- objectAnimator1.start();
- binding.svgaGiftBg.startAnimation();
- ImageLoadUtils.loadImage(context, url, binding.ivGiftAnim);
+ translationXAnimator.start();
+ if (translationYAnimator != null) translationYAnimator.start();
+ mBinding.ivGiftAnim.setVisibility(View.VISIBLE);
+ mBinding.svgaGiftBg.startAnimation();
+ ImageLoadUtils.loadImage(context, url, mBinding.ivGiftAnim);
}
}
, e -> looperPrize());//出错了继续looper......
@@ -261,13 +203,6 @@ public class TreasureBoxActivity extends BaseBindingDialog setGold(walletInfo.getGoldNum()));
- break;
- }
- }
+ mBinding.tvDiamondNum.setText(FormatUtils.formatBigDecimal(g));
+ PayModel.get().getCurrentWalletInfo().setDiamondNum(g);
}
@SuppressLint("CheckResult")
private void subscribeEvent() {
//更新金币数量和被踢出房间退出
IMNetEaseManager.get().getChatRoomEventObservable()
- //.compose(bindToLifecycle())
+ .compose(bindToLifecycle())
.subscribe(roomEvent -> {
switch (roomEvent.getEvent()) {
case RoomEvent.WALLET_UPDATE:
- setGold(roomEvent.getWalletInfo().getGoldNum());
+ loadKeyInfo();
+ setGold(roomEvent.getWalletInfo().getDiamondNum());
break;
case RoomEvent.KICK_OUT_ROOM:
- closeDialog();
+ finish();
break;
}
});
}
- @Override
- public void onDetachedFromWindow() {
- super.onDetachedFromWindow();
- EventBus.getDefault().unregister(this);
- binding.randomLayout.stop();
- ivBox.removeCallbacks(runnableOpen);
- ivBox.removeCallbacks(runnableClose);
- }
-
-
}
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxHonourActivity.java b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxHonourActivity.java
index bd9b34d49..a5b4bca43 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxHonourActivity.java
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/activity/TreasureBoxHonourActivity.java
@@ -1,121 +1,133 @@
package com.yizhuan.erban.treasure_box.activity;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.ObjectAnimator;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
-import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
-import android.widget.ImageView;
+import android.view.animation.AccelerateDecelerateInterpolator;
+import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.yizhuan.erban.R;
import com.yizhuan.erban.base.BaseBindingActivity;
import com.yizhuan.erban.databinding.ActivityTreasureBoxHonourBinding;
-import com.yizhuan.erban.treasure_box.service.OpenBoxService;
-import com.yizhuan.erban.treasure_box.service.OpenHonourBoxService;
import com.yizhuan.erban.treasure_box.widget.dialog.BoxMoreDialog;
import com.yizhuan.erban.treasure_box.widget.dialog.BuyKeyDialog;
import com.yizhuan.erban.treasure_box.widget.dialog.KeyDeficiencyDialog;
-import com.yizhuan.erban.ui.pay.ChargeActivity;
-import com.yizhuan.treasure_box.bean.HonourBuyKeyResultInfo;
-import com.yizhuan.treasure_box.bean.OpenBoxHonourResult;
-import com.yizhuan.treasure_box.bean.OpenBoxResult;
-import com.yizhuan.treasure_box.event.AutoOpenHonourBoxEvent;
-import com.yizhuan.treasure_box.event.HonourBoxBuyKeyEvent;
+import com.yizhuan.erban.ui.utils.ImageLoadUtils;
+import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
+import com.yizhuan.treasure_box.bean.PrizeInfo;
import com.yizhuan.treasure_box.model.BoxModel;
import com.yizhuan.treasure_box.model.IBoxModel;
-import com.yizhuan.xchat_android_core.auth.AuthModel;
-import com.yizhuan.xchat_android_core.exception.FailReasonException;
-import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
+import com.yizhuan.xchat_android_core.UriProvider;
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
import com.yizhuan.xchat_android_core.manager.RoomEvent;
import com.yizhuan.xchat_android_core.pay.PayModel;
import com.yizhuan.xchat_android_core.pay.bean.WalletInfo;
-import com.yizhuan.treasure_box.event.AutoOpenBoxEvent;
-import com.yizhuan.xchat_android_core.statistic.StatisticManager;
-import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
import com.yizhuan.xchat_android_core.utils.StringUtils;
-import com.yizhuan.xchat_android_core.utils.net.BalanceNotEnoughExeption;
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
import com.yizhuan.xchat_android_library.utils.FormatUtils;
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-import java.util.HashMap;
-import java.util.Map;
+import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
+import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
@ActLayoutRes(R.layout.activity_treasure_box_honour)
public class TreasureBoxHonourActivity extends BaseBindingActivity {
- private volatile double gold;
private int price = 20;
- private ImageView ivBox;
private volatile int keyNum;
- private AnimationDrawable eggAnim;
+ private ArrayList cacheList = new ArrayList<>();
+ private ObjectAnimator translationXAnimator;
+ private ObjectAnimator translationYAnimator;
+ private int boxType = IBoxModel.BOX_TYPE_HONOUR;
public static void start(Context context) {
Intent starter = new Intent(context, TreasureBoxHonourActivity.class);
- //starter.putExtra();
context.startActivity(starter);
}
-
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
- getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
+ getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, ScreenUtil.screenHeight);
+ getWindow().setGravity(Gravity.CENTER);
subscribeEvent();
}
@Override
protected void init() {
mBinding.setClick(this);
- ivBox = mBinding.ivBox;
+ translationXAnimator = ObjectAnimator.ofFloat(mBinding.ivGiftAnim, "translationX", 0,
+ ScreenUtil.screenWidth / 2f - ScreenUtil.dip2px(15 + 19)).setDuration(500);
+ translationXAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
+ translationXAnimator.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ mBinding.ivGiftAnim.setVisibility(View.GONE);
+ }
+ });
+ mBinding.ivBox.post(() -> {
+ translationYAnimator = ObjectAnimator.ofFloat(mBinding.ivGiftAnim, "translationY", 0,
+ ScreenUtil.screenHeight - (mBinding.ivBox.getBottom() + mBinding.ivBox.getTop()) / 2f - ScreenUtil.dip2px(55)).setDuration(500);
+ translationYAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
+ });
+ WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo();
+ if (walletInfo != null) {
+ mBinding.tvDiamondNum.setText(FormatUtils.formatBigDecimal(walletInfo.getGoldNum()));
+ }
+ loadKeyInfo();
+ looperPrize();
}
+
@SuppressLint("CheckResult")
- @Override
- protected void onResume() {
- super.onResume();
+ private void loadKeyInfo() {
BoxModel.get()
- .getHonourKeyInfo(AuthModel.get().getCurrentUid())
+ .getKeyInfo(boxType)
.compose(bindToLifecycle())
- .doOnError(throwable -> toast(throwable.getMessage()))
.subscribe(keyInfo -> {
changeKeyNum(keyInfo.getKeyNum());
price = keyInfo.getKeyPrice();
});
- WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo();
- if (walletInfo != null) gold = walletInfo.getGoldNum();
- mBinding.tvDiamondNum.setText(FormatUtils.formatBigDecimal(gold));
- mBinding.ivOpen.setImageResource(OpenHonourBoxService.isAutoOpenBox ? R.drawable.stop_open_box : R.drawable.auto_open_box);
- mBinding.randomLayout.start();
- EventBus.getDefault().register(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
- case R.id.ib_close:
+ case R.id.root_view:
finish();
break;
case R.id.iv_open:
- mBinding.ivOpen.setEnabled(false);
- ivBox.setImageResource(R.drawable.box_close_normal);
openBox(StringUtils.toInt(mBinding.editNum.getText().toString()));
break;
case R.id.iv_more:
new BoxMoreDialog(context).openDialog();
break;
+ case R.id.tv_rank:
+ DialogWebViewActivity.start(context, UriProvider.getBoxRank(), false);
+ break;
+ case R.id.iv_sub:
+ mBinding.editNum.setText(String.valueOf(Math.max(StringUtils.toInt(mBinding.editNum.getText().toString(), 0) - 1, 0)));
+ break;
+ case R.id.iv_add:
+ mBinding.editNum.setText(String.valueOf(StringUtils.toInt(mBinding.editNum.getText().toString(), 0) + 1));
+ break;
+ case R.id.view_bg:
+ case R.id.iv_title:
+ //do nothing
+ break;
default:
break;
}
@@ -125,13 +137,6 @@ public class TreasureBoxHonourActivity extends BaseBindingActivity mBinding.ivBox.setImageResource(R.drawable.box_close);
-
- private Runnable runnableOpen = () -> {
- if (eggAnim == null) {
- eggAnim = (AnimationDrawable) getResources().getDrawable(R.drawable.anim_honour_egg);
- } else {
- eggAnim.stop();
- }
- mBinding.ivBox.setImageDrawable(eggAnim);
- eggAnim.start();
- };
@SuppressLint("CheckResult")
private void openBox(int count) {
+ mBinding.ivOpen.setEnabled(false);
if (checkKeyNum(count)) {
mBinding.ivOpen.setEnabled(true);
return;
}
- changeBoxStatus();
+ mBinding.svgaOpen.startAnimation();
BoxModel.get()
- .openHonourBox(AuthModel.get().getCurrentUid(), false,
- AvRoomDataManager.get().mCurrentRoomInfo.getUid(), count,
- AuthModel.get().getTicket())
+ .openBox(boxType, count, false)
.compose(bindToLifecycle())
- .delay(1, TimeUnit.SECONDS)
- //delay后让转回主线程,不然刷新view会有问题
- .observeOn(AndroidSchedulers.mainThread())
.doOnError(throwable -> {
mBinding.ivOpen.setEnabled(true);
- if (throwable instanceof FailReasonException) {
- FailReasonException failReasonException = (FailReasonException) throwable;
- switch (failReasonException.getCode()) {
- case BoxModel.ERROR_CODE_KEY_NUM_NOT_ENOUGH:
- break;
-
- case BalanceNotEnoughExeption.code:
- break;
- }
- }
toast(throwable.getMessage());
})
.subscribe(openBoxResult -> {
- mBinding.randomLayout.addPrize(openBoxResult.getPrizeItemList());
changeKeyNum(openBoxResult.getRemainKeyNum());
mBinding.ivOpen.setEnabled(true);
+ cacheList.addAll(openBoxResult.getPrizeItemList());
});
}
+ @SuppressLint("CheckResult")
+ private void looperPrize() {
+ Observable.interval(0, 600, TimeUnit.MILLISECONDS)
+ .observeOn(AndroidSchedulers.mainThread())
+ .filter(aLong -> cacheList.size() > 0)
+ .subscribe(aLong -> {
+ String url = cacheList.get(0).getPrizeImgUrl();
+ if (cacheList.size() > 0) cacheList.remove(0);
+ if (!TextUtils.isEmpty(url)) {
+ translationXAnimator.start();
+ if (translationYAnimator != null) translationYAnimator.start();
+ mBinding.ivGiftAnim.setVisibility(View.VISIBLE);
+ mBinding.svgaGiftBg.startAnimation();
+ ImageLoadUtils.loadImage(context, url, mBinding.ivGiftAnim);
+ }
+ }
+ , e -> looperPrize());//出错了继续looper......
- private void changeBoxStatus() {
- ivBox.removeCallbacks(runnableClose);
- ivBox.removeCallbacks(runnableOpen);
- ivBox.postDelayed(runnableOpen, 100);
- ivBox.postDelayed(runnableClose, 3000);
}
/**
@@ -215,7 +212,6 @@ public class TreasureBoxHonourActivity extends BaseBindingActivity setGold(walletInfo.getGoldNum()));
- break;
- }
- }
+ mBinding.tvDiamondNum.setText(FormatUtils.formatBigDecimal(g));
+ PayModel.get().getCurrentWalletInfo().setDiamondNum(g);
}
@SuppressLint("CheckResult")
@@ -272,7 +232,8 @@ public class TreasureBoxHonourActivity extends BaseBindingActivity {
switch (roomEvent.getEvent()) {
case RoomEvent.WALLET_UPDATE:
- setGold(roomEvent.getWalletInfo().getGoldNum());
+ loadKeyInfo();
+ setGold(roomEvent.getWalletInfo().getDiamondNum());
break;
case RoomEvent.KICK_OUT_ROOM:
finish();
@@ -281,12 +242,5 @@ public class TreasureBoxHonourActivity extends BaseBindingActivity {
- if (throwable instanceof FailReasonException) {
- FailReasonException failReasonException = (FailReasonException) throwable;
- switch (failReasonException.getCode()) {
- case BoxModel.ERROR_CODE_KEY_NUM_NOT_ENOUGH:
- EventBus.getDefault().post(new AutoOpenBoxEvent().setRunning(false));
- stopAutoOpenBox();
- break;
- }
- }
- SingleToastUtil.showToast(BasicConfig.INSTANCE.getAppContext(),throwable.getMessage());
- })
- .subscribe(openBoxResult -> {
- keyNum = openBoxResult.getRemainKeyNum();
- EventBus.getDefault().post(new AutoOpenBoxEvent().setRunning(true).setOpenBoxResult(openBoxResult));
- if (keyNum == 0) {
- stopAutoOpenBox();
- }
- });
- }
-
- private void stopAutoOpenBox() {
- disposable.dispose();
- stopSelf();
- }
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- return super.onStartCommand(intent, flags, startId);
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- isAutoOpenBox = false;
- if (disposable != null) disposable.dispose();
- if (disposable2 != null) disposable2.dispose();
- }
-}
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/service/OpenHonourBoxService.java b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/service/OpenHonourBoxService.java
deleted file mode 100644
index 69bf9c95b..000000000
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/service/OpenHonourBoxService.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.yizhuan.erban.treasure_box.service;
-
-import android.app.Service;
-import android.content.Context;
-import android.content.Intent;
-import android.os.IBinder;
-import androidx.annotation.Nullable;
-
-import com.yizhuan.treasure_box.event.AutoOpenHonourBoxEvent;
-import com.yizhuan.treasure_box.model.BoxModel;
-import com.yizhuan.xchat_android_core.auth.AuthModel;
-import com.yizhuan.xchat_android_core.exception.FailReasonException;
-import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
-import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
-import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
-
-import org.greenrobot.eventbus.EventBus;
-
-import java.util.concurrent.TimeUnit;
-
-import io.reactivex.Observable;
-import io.reactivex.disposables.Disposable;
-
-public class OpenHonourBoxService extends Service {
-
- public static boolean isAutoOpenBox;
- public static boolean isPublic;
-
- private Disposable disposable;
- private Disposable disposable2;
-
- private int keyNum;
-
- @Nullable
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
-
- public static void start(Context context) {
- Intent starter = new Intent(context, OpenHonourBoxService.class);
- context.startActivity(starter);
- }
-
-
- public static void stop(Context context) {
- Intent stop = new Intent(context, OpenHonourBoxService.class);
- context.stopService(stop);
- }
-
- @Override
- public void onCreate() {
- super.onCreate();
- isAutoOpenBox = true;
- disposable = Observable.interval(0, 2, TimeUnit.SECONDS)
- .subscribe(this::openBox);
- }
-
- private void openBox(Long aLong) {
- disposable2 = BoxModel.get()
- .openHonourBox(AuthModel.get().getCurrentUid(), isPublic,
- AvRoomDataManager.get().mCurrentRoomInfo.getUid(), 1,
- AuthModel.get().getTicket())
- .doOnError(throwable -> {
- if (throwable instanceof FailReasonException) {
- FailReasonException failReasonException = (FailReasonException) throwable;
- switch (failReasonException.getCode()) {
- case BoxModel.ERROR_CODE_KEY_NUM_NOT_ENOUGH:
- EventBus.getDefault().post(new AutoOpenHonourBoxEvent().setRunning(false));
- stopAutoOpenBox();
- break;
- }
- }
- SingleToastUtil.showToast(BasicConfig.INSTANCE.getAppContext(),throwable.getMessage());
- })
- .subscribe(openBoxResult -> {
- keyNum = openBoxResult.getRemainKeyNum();
- EventBus.getDefault().post(new AutoOpenHonourBoxEvent().setRunning(true).setOpenBoxResult(openBoxResult));
- if (keyNum == 0) {
- stopAutoOpenBox();
- }
- });
- }
-
- private void stopAutoOpenBox() {
- disposable.dispose();
- stopSelf();
- }
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- return super.onStartCommand(intent, flags, startId);
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- isAutoOpenBox = false;
- if (disposable != null) disposable.dispose();
- if (disposable2 != null) disposable2.dispose();
- }
-}
diff --git a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BoxMoreDialog.java b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BoxMoreDialog.java
index f4923cb10..441d5cb0b 100644
--- a/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BoxMoreDialog.java
+++ b/app/src/module_treasure_box/java/com/yizhuan/erban/treasure_box/widget/dialog/BoxMoreDialog.java
@@ -7,6 +7,8 @@ import android.view.WindowManager;
import com.yizhuan.erban.R;
import com.yizhuan.erban.databinding.DialogBoxMoreBinding;
+import com.yizhuan.erban.ui.webview.DialogWebViewActivity;
+import com.yizhuan.xchat_android_core.UriProvider;
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
@ActLayoutRes(R.layout.dialog_box_more)
@@ -33,9 +35,11 @@ public class BoxMoreDialog extends BaseBindingDialog {
@Override
protected void init() {
binding.tvHistory.setOnClickListener(v -> {
+ DialogWebViewActivity.start(context, UriProvider.getBoxHistory(),false);
closeDialog();
});
binding.tvBoxRule.setOnClickListener(v -> {
+ DialogWebViewActivity.start(context, UriProvider.getBoxHelp(),false);
closeDialog();
});
binding.tvGetKey.setOnClickListener(v -> {
diff --git a/app/src/module_treasure_box/res/drawable-xhdpi/choose_box_bg.png b/app/src/module_treasure_box/res/drawable-xhdpi/choose_box_bg.png
new file mode 100644
index 000000000..83d162416
Binary files /dev/null and b/app/src/module_treasure_box/res/drawable-xhdpi/choose_box_bg.png differ
diff --git a/app/src/module_treasure_box/res/drawable-xhdpi/choose_box_bg_normal.png b/app/src/module_treasure_box/res/drawable-xhdpi/choose_box_bg_normal.png
new file mode 100644
index 000000000..94e62b454
Binary files /dev/null and b/app/src/module_treasure_box/res/drawable-xhdpi/choose_box_bg_normal.png differ
diff --git a/app/src/module_treasure_box/res/layout/activity_treasure_box.xml b/app/src/module_treasure_box/res/layout/activity_treasure_box.xml
index 866f3daa6..14fc3b844 100644
--- a/app/src/module_treasure_box/res/layout/activity_treasure_box.xml
+++ b/app/src/module_treasure_box/res/layout/activity_treasure_box.xml
@@ -13,7 +13,8 @@
+ android:layout_height="match_parent"
+ android:onClick="@{click}">
+ app:layout_constraintTop_toBottomOf="@id/iv_more"
+ tools:text="200" />
+ app:layout_constraintTop_toBottomOf="@id/tv_diamond_num"
+ tools:text="200" />
-
-
-
+ android:layout_height="match_parent"
+ android:onClick="@{click}">
+ app:layout_constraintTop_toTopOf="@id/view_bg" />
+ app:layout_constraintTop_toBottomOf="@id/iv_more"
+ tools:text="200" />
-
+ app:layout_constraintTop_toBottomOf="@id/tv_diamond_num"
+ tools:text="200" />
+ app:layout_constraintTop_toTopOf="@id/view_bg" />
+
+
-
+ app:layout_constraintTop_toTopOf="@id/view_bg"
+ app:loopCount="1"
+ app:source="svga/bubble_pack.svga"
+ tools:visibility="gone" />
+
diff --git a/app/src/module_treasure_box/res/layout/fragment_choose_treasure_box_dialog.xml b/app/src/module_treasure_box/res/layout/fragment_choose_treasure_box_dialog.xml
index f3dafde6e..8e61e1ed0 100644
--- a/app/src/module_treasure_box/res/layout/fragment_choose_treasure_box_dialog.xml
+++ b/app/src/module_treasure_box/res/layout/fragment_choose_treasure_box_dialog.xml
@@ -54,13 +54,17 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_title" />
-
@@ -110,13 +114,18 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_title_honour" />
-
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 327663553..550537284 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
@@ -301,5 +301,26 @@ public class UriProvider {
public static String getPersonalCharismaRank() {
return JAVA_WEB_URL.concat("/accompany/modules/charm/index.html");
}
+ /**
+ * 宝箱排行
+ *
+ */
+ public static String getBoxRank() {
+ return JAVA_WEB_URL.concat("/accompany/modules/rank/index.html#/wishingWellRank");
+ }
+ /**
+ * 宝箱帮助
+ *
+ */
+ public static String getBoxHelp() {
+ return JAVA_WEB_URL.concat("/accompany/modules/rank/index.html#/wishingWellRule");
+ }
+ /**
+ * 宝箱记录
+ *
+ */
+ public static String getBoxHistory() {
+ return JAVA_WEB_URL.concat("/accompany/modules/rank/index.html#/wishingWellRecord");
+ }
}
diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/auth/AuthModel.java b/core/src/main/java/com/yizhuan/xchat_android_core/auth/AuthModel.java
index bc7490e21..51749e171 100644
--- a/core/src/main/java/com/yizhuan/xchat_android_core/auth/AuthModel.java
+++ b/core/src/main/java/com/yizhuan/xchat_android_core/auth/AuthModel.java
@@ -1273,8 +1273,8 @@ public class AuthModel extends BaseModel implements IAuthModel {
//更新消息提醒配置
initNotificationConfig();
- Log.e(TAG, "onSuccess: ready to open push");
- NIMClient.getService(MixPushService.class).enable(true).setCallback(new RequestCallbackWrapper() {
+ //暂时关闭云信第三方推送,以后再开
+ NIMClient.getService(MixPushService.class).enable(false).setCallback(new RequestCallbackWrapper() {
@Override
public void onResult(int code, Void result, Throwable exception) {
Log.e(TAG, "onResult() called with: code = [" + code + "], result = [" + result + "], exception = [" + exception + "]");
diff --git a/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/BoxModel.java b/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/BoxModel.java
index 872b13c83..6577d06de 100644
--- a/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/BoxModel.java
+++ b/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/BoxModel.java
@@ -57,11 +57,11 @@ public class BoxModel extends BaseModel implements IBoxModel {
}
@Override
- public Single openBox(int keyNum, boolean sendMessage) {
+ public Single openBox(int boxType,int keyNum, boolean sendMessage) {
if (AvRoomDataManager.get().mCurrentRoomInfo == null) {
return Single.error(new Throwable("当前房间信息为空."));
}
- return api.openBox(keyNum, sendMessage, AuthModel.get().getCurrentUid(),
+ return api.openBox(boxType,keyNum, sendMessage, AuthModel.get().getCurrentUid(),
AvRoomDataManager.get().mCurrentRoomInfo.getUid())
.compose(RxHelper.handleSchedulers())
.flatMap(openBoxResultServiceResult -> {
@@ -110,8 +110,8 @@ public class BoxModel extends BaseModel implements IBoxModel {
}
@Override
- public Single getKeyInfo() {
- return api.getKeyInfo(AuthModel.get().getCurrentUid())
+ public Single getKeyInfo(int boxType) {
+ return api.getKeyInfo(boxType,AuthModel.get().getCurrentUid())
.compose(RxHelper.handleSchedulers())
.compose(RxHelper.handleBeanData());
}
@@ -138,7 +138,7 @@ public class BoxModel extends BaseModel implements IBoxModel {
@Override
public Single openHonourBox(long uid, boolean sendMessage, long roomUid,
- int keyNum, String ticket) {
+ int keyNum, String ticket) {
return api.openHonourBox(uid, sendMessage, roomUid, keyNum, ticket)
.compose(RxHelper.handleSchedulers())
.compose(RxHelper.handleBeanData());
@@ -184,7 +184,8 @@ public class BoxModel extends BaseModel implements IBoxModel {
*/
@FormUrlEncoded
@POST("box/draw")
- Single> openBox(@Field("keyNum") int keyNum,
+ Single> openBox(@Field("boxType") int boxType,
+ @Field("keyNum") int keyNum,
@Field("sendMessage") boolean sendMessage,
@Field("uid") long uid,
@Field("roomUid") long roomUid);
@@ -208,7 +209,8 @@ public class BoxModel extends BaseModel implements IBoxModel {
* @return
*/
@GET("box/userkey")
- Single> getKeyInfo(@Query("uid") long uid);
+ Single> getKeyInfo(@Query("boxType") int boxType,
+ @Query("uid") long uid);
/**
* 获取开箱子配置图片
@@ -244,10 +246,10 @@ public class BoxModel extends BaseModel implements IBoxModel {
@FormUrlEncoded
@POST("box/diamond/draw")
Single> openHonourBox(@Field("uid") long uid,
- @Field("sendMessage") boolean sendMessage,
- @Field("roomUid") long roomUid,
- @Field("keyNum") int keyNum,
- @Field("ticket") String ticket);
+ @Field("sendMessage") boolean sendMessage,
+ @Field("roomUid") long roomUid,
+ @Field("keyNum") int keyNum,
+ @Field("ticket") String ticket);
/**
* 购买钻石宝箱钥匙
@@ -255,8 +257,8 @@ public class BoxModel extends BaseModel implements IBoxModel {
@FormUrlEncoded
@POST("box/diamond/buykey")
Single> buyHonourKey(@Field("uid") long uid,
- @Field("keyNum") int keyNum,
- @Field("ticket") String ticket);
+ @Field("keyNum") int keyNum,
+ @Field("ticket") String ticket);
/**
* 至尊蛋本期奖池
diff --git a/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/IBoxModel.java b/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/IBoxModel.java
index 250218981..e7f9ef0fe 100644
--- a/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/IBoxModel.java
+++ b/core/src/model_treasure_box/java/com/yizhuan/treasure_box/model/IBoxModel.java
@@ -31,7 +31,7 @@ public interface IBoxModel extends IModel {
* @param sendMessage
* @return
*/
- Single openBox(int keyNum, boolean sendMessage);
+ Single openBox(int boxType,int keyNum, boolean sendMessage);
/**
* 获取中奖记录
@@ -60,7 +60,7 @@ public interface IBoxModel extends IModel {
*
* @return
*/
- Single getKeyInfo();
+ Single getKeyInfo(int boxType);
/**
* 获取奖品列表
diff --git a/nim_uikit/src/com/netease/nim/uikit/common/util/sys/ScreenUtil.java b/nim_uikit/src/com/netease/nim/uikit/common/util/sys/ScreenUtil.java
index 4f08bec6c..197cf2abb 100644
--- a/nim_uikit/src/com/netease/nim/uikit/common/util/sys/ScreenUtil.java
+++ b/nim_uikit/src/com/netease/nim/uikit/common/util/sys/ScreenUtil.java
@@ -57,7 +57,7 @@ public class ScreenUtil {
DisplayMetrics dm = context.getApplicationContext().getResources().getDisplayMetrics();
screenWidth = dm.widthPixels;
screenHeight = dm.heightPixels;
- screenMin = (screenWidth > screenHeight) ? screenHeight : screenWidth;
+ screenMin = Math.min(screenWidth, screenHeight);
density = dm.density;
scaleDensity = dm.scaledDensity;
xdpi = dm.xdpi;