删除部分代码(分享、签到等)

This commit is contained in:
max
2024-02-29 15:42:17 +08:00
parent 9bb7ee73f5
commit bffe6916e9
34 changed files with 3 additions and 4149 deletions

View File

@@ -396,42 +396,6 @@
android:name=".friend.view.SelectFriendActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilyPlazaActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilyHomeActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilySearchActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilyListActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilyManageActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilyCurrencyActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilyMemberListActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilyInfoActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilyMemberSearchActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".team.view.NimTeamMessageActivity"
android:screenOrientation="portrait"
@@ -476,10 +440,6 @@
android:name=".luckymoney.view.LuckyMoneyDetailActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" /> <!-- android:launchMode="singleTask" -->
<activity
android:name=".family.view.activity.FamilyMemberCurrencyActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".ErbanTakePhotoActivity"
android:screenOrientation="portrait"
@@ -488,18 +448,6 @@
android:name=".team.view.UpdateTeamNameActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilySelectFriendActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilyTextInputActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".family.view.activity.FamilyGameListActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity android:name=".ui.setting.VerifyPhoneActivity" />
<activity android:name=".ui.setting.ModifyPwdActivity" />
<activity
@@ -511,17 +459,6 @@
android:name=".ui.widget.RecallDialog"
android:screenOrientation="portrait"
android:theme="@style/dialog_activity_close_inside" />
<activity
android:name=".public_chat_hall.activity.PublicChatHallHomeActivity"
android:configChanges="keyboardHidden|orientation"
android:label="@string/main_androidmanifest_028"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".public_chat_hall.activity.PublicChatHallAitFriendsActivity"
android:configChanges="keyboardHidden|orientation"
android:label="@string/main_androidmanifest_029"
android:screenOrientation="portrait" />
<activity
android:name=".ui.user.decorationsend.DecorationSendActivity"
android:screenOrientation="portrait"
@@ -532,14 +469,6 @@
<activity
android:name=".avroom.activity.RoomOnlineUserActivity"
android:screenOrientation="portrait" />
<activity
android:name=".public_chat_hall.activity.PublicChatHallRelatedToMeActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".public_chat_hall.activity.AitFriendsSearchActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".ui.login.ShowBindPhoneActivity"
android:screenOrientation="portrait" />
@@ -605,9 +534,6 @@
<activity
android:name=".module_hall.hall.activity.MemberSearchActivity"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".avroom.activity.CpRoomInviteActivity"
android:screenOrientation="portrait" />
<activity
android:name=".module_hall.hall.activity.HallSearchActivity"
android:screenOrientation="portrait" />
@@ -620,11 +546,6 @@
<activity
android:name=".module_hall.team.activity.HTeamMemberListActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.chwl.app.mentoring_relationship.activity.MentoringRelationshipActivity"
android:label="@string/main_androidmanifest_030"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" />
<activity
android:name=".avroom.recommendcard.MyRecommendCardActivity"
android:launchMode="singleTask"
@@ -652,9 +573,6 @@
<activity
android:name=".radish.activity.RadishRecordActivity"
android:screenOrientation="portrait" />
<activity
android:name=".radish.signin.SignInActivity"
android:screenOrientation="portrait" />
<activity
android:name=".radish.task.activity.TaskCenterActivity"
android:screenOrientation="portrait" />
@@ -718,11 +636,6 @@
<activity
android:name=".ui.setting.NoticeSettingActivity"
android:screenOrientation="portrait" /> <!-- 解除绑定银行卡 -->
<activity
android:name=".ui.login.LoginActivity"
android:label="@string/main_androidmanifest_031"
android:launchMode="singleTask"
android:screenOrientation="portrait" /> <!-- 绑定银行卡 -->
<activity
android:name=".ui.webview.DialogWebViewActivity"
android:theme="@style/dialog_web_view_activity"
@@ -864,11 +777,6 @@
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".ui.user.activity.EditUserLabelActivity"
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
android:exported="false"
android:screenOrientation="portrait" />
<activity
android:name=".ui.webview.FairyDialogWebViewActivity"

View File

@@ -12,7 +12,6 @@ import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
import com.netease.nimlib.sdk.msg.model.IMMessage;
import com.chwl.app.avroom.activity.AVRoomActivity;
import com.chwl.app.base.BaseActivity;
import com.chwl.app.radish.signin.SignInActivity;
import com.chwl.app.ui.im.avtivity.NimP2PMessageActivity;
import com.chwl.app.ui.webview.CommonWebViewActivity;
import com.chwl.app.utils.PushMessageHandler;
@@ -106,11 +105,6 @@ public class NimMiddleActivity extends BaseActivity {
if (noticeAttachment.getUid() > 0) {
AVRoomActivity.start(this, noticeAttachment.getUid());
}
} else if (attachment instanceof OpenSignInAttachment) {
if (AuthModel.get().isImLogin()
&& !UIUtils.isTopActivity(this, SignInActivity.class.getSimpleName())) {
SignInActivity.start(this);
}
} else if (attachment.getFirst() == CustomAttachment.CUSTOM_MSG_RED_PACKAGE) {
if (attachment.getSecond() == CustomAttachment.CUSTOM_MSG_SUB_RED_PACKAGE_RECEIVE_ALL_DIAMOND) {
RedPackageAttachment redPackageAttachment = (RedPackageAttachment) attachment;

View File

@@ -31,8 +31,6 @@ import com.chwl.app.avroom.widget.GiftV2View;
import com.chwl.app.avroom.widget.RoomEffectView;
import com.chwl.app.base.BaseFragment;
import com.chwl.app.databinding.FragmentChatroomGameMainBinding;
import com.chwl.app.friend.view.SelectFriendActivity;
import com.chwl.app.ui.widget.ShareDialog;
import com.chwl.app.utils.RegexUtil;
import com.chwl.core.gift.bean.GiftMultiReceiverInfo;
import com.chwl.core.gift.bean.GiftReceiveInfo;
@@ -50,7 +48,6 @@ import com.chwl.core.manager.RoomEvent;
import com.chwl.core.praise.PraiseModel;
import com.chwl.core.room.bean.RoomInfo;
import com.chwl.core.room.queuing_mic.event.HasAnimationEffect;
import com.chwl.core.share.ShareModel;
import com.chwl.core.super_admin.util.SuperAdminUtil;
import com.chwl.core.user.UserModel;
import com.chwl.core.user.bean.UserInfo;
@@ -64,10 +61,8 @@ import org.greenrobot.eventbus.ThreadMode;
import java.lang.reflect.Field;
import cn.sharesdk.framework.Platform;
import io.reactivex.SingleObserver;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Action;
import kotlin.jvm.functions.Function0;
/**
@@ -76,7 +71,7 @@ import kotlin.jvm.functions.Function0;
*
* @author Administrator
*/
public class HomePartyFragment extends BaseFragment implements View.OnClickListener, ShareDialog.OnShareDialogItemClick {
public class HomePartyFragment extends BaseFragment implements View.OnClickListener {
private Fragment roomFragment;
@@ -97,12 +92,8 @@ public class HomePartyFragment extends BaseFragment implements View.OnClickListe
private UserInfo mUserInfo;
private FragmentChatroomGameMainBinding gameMainBinding;
// private ShareDialog shareDialog;
//收藏房间
private String FOLLOW_ROOM_TYPE = "";
// private SelectGameAdapter gameAdapter;
public static HomePartyFragment newInstance() {
HomePartyFragment homePartyFragment = new HomePartyFragment();
@@ -221,73 +212,6 @@ public class HomePartyFragment extends BaseFragment implements View.OnClickListe
}
}
// private void initRvGame() {
// RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
// if (roomInfo == null || gameAdapter != null) return;
// gameMainBinding.rvGame.setLayoutManager(new LinearLayoutManager(mContext));
// gameMainBinding.rvGame.setAdapter(gameAdapter = new SelectGameAdapter());
// gameMainBinding.llSelectGame.setOnClickListener(v -> {
// if (gameMainBinding.rvGame.getVisibility() == View.VISIBLE) {
// gameMainBinding.rvGame.setVisibility(View.GONE);
// gameMainBinding.ivChangeGameArrow.setImageResource(R.drawable.ic_room_arrow_type_below);
// } else {
// if (!isShowChangeGame()) {
// SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_01));
// return;
// }
// if (AvRoomDataManager.get().isGamePlaying()) {
// SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_02));
// } else {
// gameMainBinding.rvGame.setVisibility(View.VISIBLE);
// gameMainBinding.ivChangeGameArrow.setImageResource(R.drawable.ic_room_arrow_type);
// }
// }
// });
//
// gameAdapter.setOnItemClickListener((adapter, view, position) -> {
// if (AvRoomDataManager.get().isGamePlaying()) {
// SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_03));
// }
// if (!isShowChangeGame()) {
// SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_04));
// return;
// }
//
// GameInfo gameInfo = gameAdapter.getItem(position);
// if (gameInfo != null) {
// int type;
// long mgId = 0;
// if (Objects.equals(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_05), gameInfo.getName())) {
// type = RoomInfo.ROOMTYPE_HOME_PARTY;
// } else {
// type = RoomInfo.ROOMTYPE_GAME;
// mgId = JavaUtil.str2long(gameInfo.getMgId());
// }
// gameMainBinding.rvGame.setVisibility(View.GONE);
// gameMainBinding.ivChangeGameArrow.setImageResource(R.drawable.ic_room_arrow_type_below);
// OpenRoomHelper.updateRoomInfo(
// getBaseActivity(),
// AvRoomDataManager.get().mCurrentRoomInfo,
// type,
// mgId,
// false);
// }
// });
// }
//这里的2和4是服务端定义的错误状态 关闭排麦模式和关闭PK模式!
private boolean isShowChangeGame() {
return false;
// RoomInfo currentRoomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
// return currentRoomInfo != null &&
// AvRoomDataManager.get().isRoomOwner() &&
// currentRoomInfo.getIsPermitRoom() != 1 &&
// currentRoomInfo.getType() != RoomInfo.ROOM_TYPE_SINGLE &&
// (currentRoomInfo.getRoomModeType() == RoomModeType.NORMAL_MODE ||
// currentRoomInfo.getRoomModeType() == 2 ||
// currentRoomInfo.getRoomModeType() == 4);
}
public void setRoomBg(RoomInfo roomInfo) {
if (svgaRoomBg == null) return;
updateView(roomInfo);
@@ -463,34 +387,6 @@ public class HomePartyFragment extends BaseFragment implements View.OnClickListe
ivFollowRoom.setImageResource(AvRoomDataManager.get().isRoomFans ? R.drawable.room_ic_collect_yes : R.drawable.room_ic_collect_no);
setIdOnlineData();
// if (isShowChangeGame()) {
// initRvGame();
// gameMainBinding.llChangeGame.setVisibility(View.VISIBLE);
// if (AvRoomDataManager.get().isOpenGame()) {
// gameMainBinding.tvCurrGame.setText(currentRoomInfo.getMgName());
// } else {
// gameMainBinding.tvCurrGame.setText(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_08));
// }
// GameModel.INSTANCE.getGameList()
// .compose(bindToLifecycle())
// .subscribe(gameInfos -> {
// if (AvRoomDataManager.get().isOpenGame()) {
// for (int i = 0; i < gameInfos.size(); i++) {
// GameInfo gameInfo = gameInfos.get(i);
// if (JavaUtil.str2long(gameInfo.getMgId()) == currentRoomInfo.getMgId()) {
// gameInfos.remove(i);
// break;
// }
// }
// GameInfo gameInfo = new GameInfo();
// gameInfo.setName(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_09));
// gameInfos.add(gameInfo);
// }
// gameAdapter.setNewData(gameInfos);
// });
// } else {
// gameMainBinding.llChangeGame.setVisibility(View.GONE);
// }
}
}
@@ -519,9 +415,6 @@ public class HomePartyFragment extends BaseFragment implements View.OnClickListe
case R.id.ll_room_info:
RoomOnlineUserActivity.start(getActivity());
break;
// case R.id.iv_room_share:
// shareRoom();
// break;
case R.id.iv_follow_room:
followRoom();
break;
@@ -571,67 +464,6 @@ public class HomePartyFragment extends BaseFragment implements View.OnClickListe
ivFollowRoom.setImageResource(AvRoomDataManager.get().isRoomFans ? R.drawable.room_ic_collect_yes : R.drawable.room_ic_collect_no);
}
// @Subscribe(threadMode = ThreadMode.MAIN)
// public void onShareRoomEvent(ShareRoomEvent event) {
//// shareRoom();
// }
// /**
// * 分享房间
// */
// public void shareRoom() {
// if (shareDialog != null && shareDialog.isShowing()) {
// shareDialog.dismiss();
// }
// shareDialog = new ShareDialog(getActivity());
// shareDialog.setOnShareDialogItemClick(this);
// shareDialog.show();
// }
@Override
public void onInAppSharingItemClick() {
// shareDialog.dismiss();
SelectFriendActivity.startForSharingRoom(getActivity());
}
@Override
public void onSharePlatformClick(Platform platform) {
RoomInfo currentRoomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
if (currentRoomInfo != null) {
UserModel.get().getUserInfo(currentRoomInfo.getUid())
.flatMap(userInfo -> ShareModel.get().shareRoom(
platform,
currentRoomInfo.getUid(),
userInfo.getErbanNo(),
currentRoomInfo.getTitle(),
currentRoomInfo.getAvatar()
))
.compose(bindUntilEvent(FragmentEvent.DESTROY))
.doAfterTerminate(new Action() {
@Override
public void run() throws Exception {
getDialogManager().dismissDialog();
}
})
.subscribe(new SingleObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onSuccess(String s) {
toast(s);
}
@Override
public void onError(Throwable e) {
toast(e.getMessage());
}
});
}
}
@Override
public void onDestroy() {
if (giftView != null) {

View File

@@ -14,22 +14,14 @@ import android.widget.TextView;
import com.chwl.app.R;
import com.chwl.app.common.widget.dialog.DialogManager;
import com.chwl.app.ui.utils.ImageLoadUtils;
import com.chwl.app.ui.widget.ShareDialog;
import com.chwl.core.radish.signin.SignInModel;
import com.chwl.core.radish.task.bean.PrizeAnim;
import com.chwl.core.share.ShareModel;
import com.chwl.core.utils.net.BeanObserver;
import com.chwl.core.utils.net.RxHelper;
import com.chwl.library.utils.ResUtil;
import com.chwl.library.utils.SingleToastUtil;
import java.util.concurrent.TimeUnit;
import cn.sharesdk.framework.Platform;
import io.reactivex.Single;
import io.reactivex.SingleObserver;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
/**
* 动画界面,签到和任务界面一样,整合一处
@@ -41,20 +33,6 @@ public class PrizeAnimUiHelper {
* 任务界面
*/
public final static int TYPE_TASK_PAGE = 1;
/**
* 签到界面
*/
public final static int TYPE_SIGN_IN_PAGE = 2;
/**
* 累计奖励
*/
public final static int TYPE_REWARD_PAGE = 3;
/**
* 瓜分钻石
*/
public final static int TYPE_DRAW_GOLD = 4;
private ImageView ivRewardBg;
private ImageView ivRewardContent;
private TextView tvDetailPrizeName;
@@ -103,22 +81,6 @@ public class PrizeAnimUiHelper {
if (prizeAnim == null) {
return;
}
final String day = String.valueOf(prizeAnim.getSignDays()) + ResUtil.getString(R.string.radish_helper_prizeanimuihelper_01);
final String reward = prizeAnim.getPrizeName();
ShareDialog shareDialog = new ShareDialog(context);
shareDialog.setType(ShareDialog.TYPE_SHARE_H5);
shareDialog.setOnShareDialogItemClick(new ShareDialog.OnShareDialogItemClick() {
@Override
public void onInAppSharingItemClick() {
}
@Override
public void onSharePlatformClick(Platform platform) {
toShare(platform, day, reward);
}
});
shareDialog.show();
});
}
@@ -237,49 +199,4 @@ public class PrizeAnimUiHelper {
bgSet.cancel();
}
}
private void toShare(Platform platform, String day, String reward) {
int shareType = SignInModel.SHARE_TYPE_REWARD; // 累计奖励
if (mType == TYPE_DRAW_GOLD)
shareType = SignInModel.SHARE_TYPE_DRAW_GOLD; // 瓜分钻石
dialogManager.showProgressDialog(context, "", true);
new SignInModel().getShareImage(shareType, day, reward)
.subscribe(new BeanObserver<String>() {
@Override
public void onErrorMsg(String error) {
SingleToastUtil.showToast(error);
dialogManager.dismissDialog();
}
@Override
public void onSuccess(String s) {
getShareImageSuccess(platform, s);
}
});
}
private void getShareImageSuccess(Platform platform, String s) {
ShareModel.get().shareImageForSignIn(platform, s).subscribe(new SingleObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onSuccess(String s) {
dialogManager.dismissDialog();
SignInModel signInModel = new SignInModel();
signInModel.signShare();
}
@Override
public void onError(Throwable e) {
dialogManager.dismissDialog();
}
});
}
}

View File

@@ -1,150 +0,0 @@
package com.chwl.app.radish.signin;
import android.content.Context;
import android.text.TextUtils;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.chwl.app.guide.GuideActivity;
import com.chwl.app.other.activity.SplashActivity;
import com.chwl.app.radish.signin.view.SignInDialog;
import com.chwl.app.ui.login.AddUserInfoActivity;
import com.chwl.core.auth.AuthModel;
import com.chwl.core.radish.signin.SignInModel;
import com.chwl.core.radish.signin.bean.SignDetailInfo;
import com.chwl.core.utils.ActivityUtil;
import com.chwl.core.utils.SharedPreferenceUtils;
import com.chwl.core.utils.net.BeanObserver;
import com.chwl.core.utils.net.RxHelper;
import com.chwl.library.utils.UIUtils;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
/**
* 签到弹框时机的处理
* create by lvzebiao @2019/3/28
*/
public class SignDialogTimeManager {
public final static String KEY_SAVE_SIGN_IN_TIME = "key_sign_in_time";
public static void checkSignDialog(Context context, boolean isNeedCheckAddUserInfo) {
if (!ActivityUtil.isCanShowAppCompatDialog(context)) {
return;
}
//闪屏页,登录页,引导页,完善资料页不弹
if (UIUtils.isTopActivity(context, SplashActivity.class.getName())
|| UIUtils.isTopActivity(context, GuideActivity.class.getName())) {
return;
}
if (isNeedCheckAddUserInfo && UIUtils.isTopActivity(context, AddUserInfoActivity.class.getName())) {
return;
}
if (!isNeedConnectNet()) {
return;
}
SignInModel model = new SignInModel();
model.signDetail().compose(RxHelper.bindContext(context))
.subscribe(new BeanObserver<SignDetailInfo>() {
@Override
public void onErrorMsg(String error) {
}
@Override
public void onSuccess(SignDetailInfo detailInfo) {
if (!ActivityUtil.isValidContext(context)) {
return;
}
if (detailInfo.isSign() || !detailInfo.isNeedSignDialog()) {
return;
}
saveCache();
SignInDialog.display(context, detailInfo);
}
});
}
public static HashMap<Long, Long> cacheToMap() {
String cache = (String) SharedPreferenceUtils.get(KEY_SAVE_SIGN_IN_TIME, "");
if (!TextUtils.isEmpty(cache)) {
try {
return new Gson().fromJson(cache, new TypeToken<HashMap<Long, Long>>() {
}.getType());
} catch (Exception ex) {
ex.printStackTrace();
}
}
return null;
}
public static void saveCache() {
Map<Long, Long> map = cacheToMap();
if (map == null) {
map = new HashMap<>();
}
if (map.size() > 10) {
map.clear();
}
map.put(AuthModel.get().getCurrentUid(), System.currentTimeMillis());
try {
String json = new Gson().toJson(map);
if (!TextUtils.isEmpty(json)) {
SharedPreferenceUtils.put(KEY_SAVE_SIGN_IN_TIME, json);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
private static boolean isNeedConnectNet() {
try {
Map<Long, Long> map = cacheToMap();
if (map == null || map.size() == 0) {
return true;
}
long myUid = AuthModel.get().getCurrentUid();
if (!map.containsKey(myUid)) {
return true;
}
long myTimeValue = map.get(myUid);
if (myTimeValue <= 0) {
return true;
}
return isTomorrow(myTimeValue);
} catch (Exception ex) {
ex.printStackTrace();
}
return true;
}
/**
* 判断是不是 第二天
*
* @param cacheTime
* @return
*/
private static boolean isTomorrow(long cacheTime) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
int currYear = calendar.get(Calendar.YEAR);
int currMonth = calendar.get(Calendar.MONTH);
int currDayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
calendar.setTimeInMillis(cacheTime);
int cacheYear = calendar.get(Calendar.YEAR);
int cacheMonth = calendar.get(Calendar.MONTH);
int cacheDayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
if (currYear > cacheYear) {
return true;
}
boolean equalYear = currYear == cacheYear;
if (equalYear && currMonth > cacheMonth) {
return true;
}
return equalYear && currMonth == cacheMonth && currDayOfMonth > cacheDayOfMonth;
}
}

View File

@@ -1,725 +0,0 @@
package com.chwl.app.radish.signin;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.os.SystemClock;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chwl.app.R;
import com.chwl.app.base.BaseMvpActivity;
import com.chwl.app.common.widget.TutuSwitchView;
import com.chwl.app.common.widget.dialog.DialogManager;
import com.chwl.app.common.widget.dialog.DialogUiHelper;
import com.chwl.app.radish.helper.PrizeAnimUiHelper;
import com.chwl.app.radish.signin.adpter.RewardListAdapter;
import com.chwl.app.radish.signin.adpter.RewardTotalNoticeAdapter;
import com.chwl.app.radish.signin.helper.SignInUiHelper;
import com.chwl.app.radish.signin.presenter.SignInPresenter;
import com.chwl.app.radish.signin.view.CarveUpGoldAdapter;
import com.chwl.app.radish.signin.view.ISignInView;
import com.chwl.app.radish.signin.view.RuleDialog;
import com.chwl.app.ui.widget.ShareDialog;
import com.chwl.app.ui.widget.marqueeview.BetterMarqueeView;
import com.chwl.app.utils.CertificateHelper;
import com.chwl.app.utils.NumberFormatUtil;
import com.chwl.app.utils.SpannableBuilder;
import com.chwl.core.radish.signin.SignInModel;
import com.chwl.core.radish.signin.bean.DrawNoticeInfo;
import com.chwl.core.radish.signin.bean.ReceiveTotalRewardInfo;
import com.chwl.core.radish.signin.bean.ReplenishSignInfo;
import com.chwl.core.radish.signin.bean.RewardNoticeInfo;
import com.chwl.core.radish.signin.bean.RsPlatformType;
import com.chwl.core.radish.signin.bean.SignDetailInfo;
import com.chwl.core.radish.signin.bean.SignDrawInfo;
import com.chwl.core.radish.signin.bean.SignInfo;
import com.chwl.core.radish.task.bean.PrizeAnim;
import com.chwl.core.share.ShareModel;
import com.chwl.core.utils.net.BeanObserver;
import com.chwl.core.utils.net.DontWarnObserver;
import com.chwl.core.utils.net.RadishNotEnoughException;
import com.chwl.core.utils.net.RxHelper;
import com.chwl.library.base.factory.CreatePresenter;
import com.chwl.library.utils.ListUtils;
import com.chwl.library.utils.ResUtil;
import com.chwl.library.utils.SingleToastUtil;
import com.chwl.library.widget.IOSSwitchView;
import com.yy.mobile.rollingtextview.CharOrder;
import com.yy.mobile.rollingtextview.RollingTextView;
import com.yy.mobile.rollingtextview.strategy.Direction;
import com.yy.mobile.rollingtextview.strategy.Strategy;
import java.util.List;
import cn.sharesdk.framework.Platform;
import io.reactivex.Single;
import io.reactivex.SingleObserver;
import io.reactivex.SingleOnSubscribe;
import io.reactivex.SingleSource;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Function;
/**
* 萝卜签到
*/
@CreatePresenter(SignInPresenter.class)
public class SignInActivity extends BaseMvpActivity<ISignInView, SignInPresenter> implements ISignInView, IOSSwitchView.OnSwitchStateChangeListener,
ShareDialog.OnShareDialogItemClick, RewardTotalNoticeAdapter.RewardTotalListener, View.OnClickListener {
private BetterMarqueeView bmvSignIn;
private TutuSwitchView switchSignInNotice;
private TextView tvSignInOp;
private ImageView ivHorn;
private RollingTextView rtvGoldPool;
private TextView tvAwardInfo;
private ConstraintLayout clRewardAnimContainer;
private RecyclerView rvRewardList;
private TextView tvSignDay;
private View mRewardTotal;
private TextView tvActivityRule;
private TextView tvSignInNormalShare;
private SignDetailInfo mSignDetailInfo;
private RewardListAdapter mRewardListAdapter;
private PrizeAnimUiHelper priceAnimUiHelper;
private boolean isFirstLoad = true;
public static void start(Context context) {
Intent intent = new Intent(context, SignInActivity.class);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_in);
findView();
initTitleBar(ResUtil.getString(R.string.radish_signin_signinactivity_01));
priceAnimUiHelper = new PrizeAnimUiHelper();
priceAnimUiHelper.onCreate(this, findViewById(R.id.cl_reward_anim_container),
PrizeAnimUiHelper.TYPE_SIGN_IN_PAGE, getDialogManager());
initBetterMarqueeView();
initNumberPoolInfo();
mRewardListAdapter = new RewardListAdapter(R.layout.item_reward_notice, null);
rvRewardList.setLayoutManager(new GridLayoutManager(this, 4) {
@Override
public boolean canScrollVertically() {
return false;
}
});
rvRewardList.setAdapter(mRewardListAdapter);
switchSignInNotice.setOnSwitchStateChangeListener(this);
mRewardListAdapter.setOnItemClickListener((adapter, view, position) -> {
RewardNoticeInfo item = mRewardListAdapter.getItem(position);
if (item == null) {
return;
}
if (mSignDetailInfo != null && !mSignDetailInfo.isCanReplenishSign()) {
toast(ResUtil.getString(R.string.radish_signin_signinactivity_02));
return;
}
getMvpPresenter().getDataModel().getReplenishSignInfo(item.getSignDays())
.compose(RxHelper.bindActivity(this))
.subscribe(new BeanObserver<ReplenishSignInfo>() {
@Override
public void onErrorMsg(String error) {
toast(error);
}
@Override
public void onSuccess(ReplenishSignInfo info) {
handleReplenishSignTypeDialog(info, item.getSignDays());
}
});
});
loadData(false);
}
private void findView() {
bmvSignIn = findViewById(R.id.bmv_sign_in);
switchSignInNotice = findViewById(R.id.switch_sign_in_notice);
tvSignInOp = findViewById(R.id.tv_sign_in_op);
ivHorn = findViewById(R.id.iv_horn);
rtvGoldPool = findViewById(R.id.rtv_gold_pool);
tvAwardInfo = findViewById(R.id.tv_award_info);
clRewardAnimContainer = findViewById(R.id.cl_reward_anim_container);
rvRewardList = findViewById(R.id.rv_reward_list);
tvSignDay = findViewById(R.id.tv_label_sign_day);
mRewardTotal = findViewById(R.id.layout_total_reward);
tvActivityRule = findViewById(R.id.tv_activity_rule);
tvSignInNormalShare = findViewById(R.id.tv_sign_in_normal_share);
tvSignInOp.setOnClickListener(this);
clRewardAnimContainer.setOnClickListener(this);
tvActivityRule.setOnClickListener(this);
tvSignInNormalShare.setOnClickListener(this);
}
private void loadData(boolean isReplenish) {
getMvpPresenter().getSignDetail(isReplenish);
getMvpPresenter().getRewardTotalNotice();
getMvpPresenter().getRewardTodayNotice();
}
private void handleReplenishSignTypeDialog(ReplenishSignInfo info, int signDay) {
SpannableBuilder builder = new SpannableBuilder();
String okLabel;
if (info.getType() == ReplenishSignInfo.TYPE_SHARE) {
builder.append(ResUtil.getString(R.string.radish_signin_signinactivity_03),
new ForegroundColorSpan(getResources().getColor(R.color.appColor)))
.append(ResUtil.getString(R.string.radish_signin_signinactivity_04))
.append(ResUtil.getString(R.string.radish_signin_signinactivity_05),
new ForegroundColorSpan(getResources().getColor(R.color.color_999999)));
okLabel = ResUtil.getString(R.string.radish_signin_signinactivity_06);
} else {
builder.append(ResUtil.getString(R.string.radish_signin_signinactivity_07))
.append(info.getPrice() + ResUtil.getString(R.string.radish_signin_signinactivity_08),
new ForegroundColorSpan(getResources().getColor(R.color.appColor)));
okLabel = ResUtil.getString(R.string.radish_signin_signinactivity_09);
}
getDialogManager().showOkCancelWithTitleDialog(ResUtil.getString(R.string.radish_signin_signinactivity_010), builder.build(), okLabel, true, () -> {
Single.create((SingleOnSubscribe<RsPlatformType>) emitter -> {
if (info.getType() == ReplenishSignInfo.TYPE_SHARE) {
//分享
ShareDialog shareDialog = new ShareDialog(context);
shareDialog.setType(ShareDialog.TYPE_SHARE_H5);
shareDialog.setOnShareDialogItemClick(new ShareDialog.OnShareDialogItemClick() {
@Override
public void onInAppSharingItemClick() {
}
@Override
public void onSharePlatformClick(Platform platform) {
emitter.onSuccess(new RsPlatformType(true, platform));
}
});
shareDialog.show();
} else {
emitter.onSuccess(new RsPlatformType(false, null));
}
}).observeOn(AndroidSchedulers.mainThread())
.doOnSuccess(rsPlatformType -> getDialogManager().showProgressDialog(context, true))
.flatMap((Function<RsPlatformType, SingleSource<SignInfo>>) rsPlatformType -> {
Single<String> single = Single.just("");
if (rsPlatformType.isConsumeShare()) {
single = single.flatMap((Function<String, SingleSource<String>>) s ->
getMvpPresenter().getDataModel().getShareImage(SignInModel.SHARE_TYPE_NORMAL, null, null))
.flatMap((Function<String, SingleSource<String>>) picUrl -> {
if (TextUtils.isEmpty(picUrl)) {
return Single.error(new Throwable(ResUtil.getString(R.string.radish_signin_signinactivity_011)));
}
return Single.just(picUrl);
}).flatMap((Function<String, SingleSource<String>>) picUrl ->
ShareModel.get().shareImageForSignIn(rsPlatformType.getPlatform(), picUrl));
}
return single.flatMap((Function<String, SingleSource<SignInfo>>) s ->
getMvpPresenter().getDataModel().replenishSign(signDay));
})
.subscribe(new DontWarnObserver<SignInfo>() {
@Override
public void acceptThrowable(SignInfo signInfo, Throwable throwable) {
super.acceptThrowable(signInfo, throwable);
getDialogManager().dismissDialog();
if (signInfo != null) {
loadData(true);
SignInUiHelper.showSupplementSignSuccessDialog(context, getDialogManager(),
signInfo.getPrizeName());
} else if (throwable instanceof RadishNotEnoughException) {
DialogUiHelper.showRadishNotEnoughDialog(context, getDialogManager());
} else {
toast(throwable.getMessage());
}
}
});
});
}
/**
* 广播消息
*/
@SuppressLint("CheckResult")
private void initBetterMarqueeView() {
getMvpPresenter().getDrawNotice();
}
/**
* 初始化奖金池信息
*/
private void initNumberPoolInfo() {
rtvGoldPool.setText(NumberFormatUtil.formatCommaInt(poolNumber), false);
rtvGoldPool.addCharOrder(",");
rtvGoldPool.addCharOrder(CharOrder.Number);
rtvGoldPool.setCharStrategy(Strategy.CarryBitAnimation(Direction.SCROLL_UP));
rtvGoldPool.setAnimationDuration(300);
}
private long poolNumber = 0;
@Override
public void onBackPressed() {
if (priceAnimUiHelper.onBackPressed()) {
return;
}
super.onBackPressed();
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_sign_in_op:
if (mSignDetailInfo != null) {
if (mSignDetailInfo.getIsDrawGold() == SignDetailInfo.FLAG_DRAW_GOLD_OPEN_UN_DRAW) {
drawGold();
} else if (!mSignDetailInfo.isSign()) {
getMvpPresenter().sign(); // 签到
}
}
break;
case R.id.tv_sign_in_normal_share:
ShareDialog shareDialog = new ShareDialog(this);
shareDialog.setType(ShareDialog.TYPE_SHARE_H5);
shareDialog.setOnShareDialogItemClick(this);
shareDialog.show();
break;
case R.id.cl_reward_anim_container:
clRewardAnimContainer.setVisibility(View.GONE);
break;
case R.id.tv_activity_rule:
new RuleDialog(SignInActivity.this).openDialog();
break;
}
}
@Override
public void signSuccess(long count) {
if (count > 0) {
setGoldPool((int) count);
toast(ResUtil.getString(R.string.radish_signin_signinactivity_014) + count + ResUtil.getString(R.string.radish_signin_signinactivity_015));
}
getMvpPresenter().getSignDetail();
}
private long lastClick = 0L;
@Override
public void signFail(String message) {
// toast(message); // 频繁toast会出现无法展示toast的情况
long currentClick = SystemClock.uptimeMillis();
if (currentClick - lastClick >= 2000) {
lastClick = currentClick;
// Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
SingleToastUtil.showToastShort(message);
}
}
@Override
public void getSignDetailSuccess(SignDetailInfo signDetailInfo, boolean isReplenish) {
mSignDetailInfo = signDetailInfo;
if (mSignDetailInfo != null) {
setSwitchSignInNotice(mSignDetailInfo.getSignRemind());
if (isFirstLoad) {
setGoldPool(mSignDetailInfo.getShowGoldNum());
} else if (isReplenish) {
updateReplenishGoldPool(mSignDetailInfo.getShowGoldNum());
}
isFirstLoad = false;
setSignOption(mSignDetailInfo);
if (mSignDetailInfo.isSign())
setTvSignGift(mSignDetailInfo.getShowText());
setTvSignDay(mSignDetailInfo.getTotalDay(), mSignDetailInfo.getDrawGoldDate());
if (mRewardTotalNoticeAdapter != null)
mRewardTotalNoticeAdapter.setState(mSignDetailInfo);
if (mRewardListAdapter != null) {
mRewardListAdapter.setmSignDay(mSignDetailInfo.isSign(), mSignDetailInfo.getTodaySignDay());
mRewardListAdapter.setUserCanReplenish(mSignDetailInfo.isCanReplenishSign());
}
}
}
@Override
public void getSignDetailFail(String message) {
toast(message);
}
@Override
public void drawSuccess(SignDrawInfo signDrawInfo) {
dismissDialog();
setGoldPool(0L - signDrawInfo.getGoldNum());
priceAnimUiHelper.setType(PrizeAnimUiHelper.TYPE_DRAW_GOLD);
priceAnimUiHelper.showPrizeInfoUi(PrizeAnim.formatDrawGold(signDrawInfo));
getMvpPresenter().getSignDetail();
}
@Override
public void drawFail(String message) {
dismissDialog();
toast(message);
}
@Override
public void setRemindSuccess() {
switchSignInNotice.setEnabled(true);
}
@Override
public void setRemindFail(String message) {
switchSignInNotice.setEnabled(true);
toast(message);
}
@Override
public void getDrawNoticeSuccess(List<DrawNoticeInfo> list) {
ivHorn.setVisibility(ListUtils.isListEmpty(list) ? View.GONE : View.VISIBLE);
CarveUpGoldAdapter adapter = new CarveUpGoldAdapter(context, list);
bmvSignIn.setAdapter(adapter);
bmvSignIn.start();
}
@Override
public void getDrawNoticeFail(String message) {
}
private RewardTotalNoticeAdapter mRewardTotalNoticeAdapter;
@Override
public void getRewardTotalNoticeSuccess(List<RewardNoticeInfo> list) {
if (mRewardTotalNoticeAdapter == null) {
mRewardTotalNoticeAdapter = new RewardTotalNoticeAdapter(mRewardTotal);
mRewardTotalNoticeAdapter.setmRewardTotalListener(this);
}
mRewardTotalNoticeAdapter.setmList(list);
if (mSignDetailInfo != null)
mRewardTotalNoticeAdapter.setState(mSignDetailInfo);
}
@Override
public void getRewardTotalNoticeFail(String message) {
}
@Override
public void getRewardTodayNoticeSuccess(List<RewardNoticeInfo> list) {
if (mRewardListAdapter != null) {
mRewardListAdapter.setNewData(list);
}
}
@Override
public void getRewardTodayNoticeFail(String message) {
}
@Override
public void getShareImageSuccess(String picUrl) {
dismissDialog();
if (!TextUtils.isEmpty(picUrl) && mSharePlatform != null) {
ShareModel.get().shareImageForSignIn(mSharePlatform, picUrl).subscribe(new SingleObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onSuccess(String s) {
SignInModel signInModel = new SignInModel();
signInModel.signShare();
}
@Override
public void onError(Throwable e) {
}
});
}
}
@Override
public void getShareImageFail(String message) {
dismissDialog();
}
@Override
public void receiveTotalRewardSuccess(ReceiveTotalRewardInfo receiveTotalRewardInfo) {
dismissDialog();
priceAnimUiHelper.setType(PrizeAnimUiHelper.TYPE_REWARD_PAGE);
priceAnimUiHelper.showPrizeInfoUi(PrizeAnim.formatReceiveTotalRewardInfo(receiveTotalRewardInfo));
getMvpPresenter().getRewardTotalNotice();
}
@Override
public void receiveTotalRewardFail(String message) {
dismissDialog();
toast(message);
}
private void setSwitchSignInNotice(boolean isOn) {
switchSignInNotice.setOn(isOn);
}
private void setSignOption(SignDetailInfo signDetailInfo) {
if (signDetailInfo.getIsDrawGold() == SignDetailInfo.FLAG_DRAW_GOLD_OPEN_DRAW) {
tvSignInOp.setBackgroundResource(R.drawable.bg_draw_gold);
tvSignInOp.setText(ResUtil.getString(R.string.radish_signin_signinactivity_016) + signDetailInfo.getDrawGoldNum() + ResUtil.getString(R.string.radish_signin_signinactivity_017));
tvSignInOp.setTextSize(15);
tvSignInOp.setEnabled(false);
setDrawOption(signDetailInfo.getDrawGoldNum());
} else if (signDetailInfo.getIsDrawGold() == SignDetailInfo.FLAG_DRAW_GOLD_OPEN_UN_DRAW) {
tvSignInOp.setBackgroundResource(R.drawable.icon_sign_draw_gold);
tvSignInOp.setText(getString(R.string.label_draw_gold));
tvSignInOp.setTextSize(18);
tvSignInOp.setEnabled(true);
} else if (signDetailInfo.isSign()) {
tvSignInOp.setBackgroundResource(R.drawable.icon_sign_in_ed_status);
tvSignInOp.setText(getString(R.string.status_today_has_sign_in));
tvSignInOp.setTextSize(18);
tvSignInOp.setEnabled(false);
// if (BuildConfig.DEBUG) {
// tvSignInOp.setEnabled(true);
// }
} else {
tvSignInOp.setBackgroundResource(R.drawable.icon_sign_in_un_status);
tvSignInOp.setText(getString(R.string.status_point_me_to_sign_in));
tvSignInOp.setEnabled(true);
}
}
private void setDrawOption(long gold) {
tvSignInOp.setBackgroundResource(R.drawable.bg_draw_gold);
String firstPath = ResUtil.getString(R.string.radish_signin_signinactivity_018);
String tips = firstPath + gold + ResUtil.getString(R.string.radish_signin_signinactivity_019);
SpannableString spannableString = new SpannableString(tips);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#9B40FC"));
spannableString.setSpan(colorSpan, 0, firstPath.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
colorSpan = new ForegroundColorSpan(Color.parseColor("#FF3B6E"));
spannableString.setSpan(colorSpan, firstPath.length(), tips.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
tvSignInOp.setText(spannableString);
tvSignInOp.setEnabled(false);
}
private void setGoldPool(long count) {
if (isFirstLoad) {
poolNumber = count;
} else {
poolNumber += count;
}
rtvGoldPool.setText(NumberFormatUtil.formatCommaInt(poolNumber), !isFirstLoad);
}
private void updateReplenishGoldPool(long newNumber) {
poolNumber = newNumber;
rtvGoldPool.setText(NumberFormatUtil.formatCommaInt(poolNumber), false);
}
private void setTvSignGift(String showText) {
if (tvAwardInfo != null) {
tvAwardInfo.setText(ResUtil.getString(R.string.radish_signin_signinactivity_020) + showText);
}
}
private void setTvSignDay(int day, String time) {
if (day == 28) {
String firstPath = ResUtil.getString(R.string.radish_signin_signinactivity_021);
String thirdPath = ResUtil.getString(R.string.radish_signin_signinactivity_022);
String colorTip;
String tips;
SpannableString spannableString;
colorTip = day + ResUtil.getString(R.string.radish_signin_signinactivity_023);
tips = firstPath + colorTip + thirdPath;
spannableString = new SpannableString(tips);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#979797"));
spannableString.setSpan(colorSpan, 0, firstPath.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
colorSpan = new ForegroundColorSpan(Color.parseColor("#FE3E53"));
spannableString.setSpan(colorSpan, firstPath.length(), tips.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
tvSignDay.setText(spannableString);
} else {
String firstPath = ResUtil.getString(R.string.radish_signin_signinactivity_024);
String thirdPath = ResUtil.getString(R.string.radish_signin_signinactivity_025);
String colorTip;
String tips;
SpannableString spannableString;
if (time == null || TextUtils.isEmpty(time) || time.equals("null")) {
colorTip = String.valueOf(day);
String temp = ResUtil.getString(R.string.radish_signin_signinactivity_026);
tips = firstPath + colorTip + temp;
spannableString = new SpannableString(tips);
int start = 0;
int end = firstPath.length();
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#979797"));
spannableString.setSpan(colorSpan, start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
start = end;
end += colorTip.length();
colorSpan = new ForegroundColorSpan(Color.parseColor("#FE3E53"));
spannableString.setSpan(colorSpan, start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
start = end;
end += temp.length();
colorSpan = new ForegroundColorSpan(Color.parseColor("#979797"));
spannableString.setSpan(colorSpan, start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
} else {
colorTip = String.valueOf(day);
String temp = ResUtil.getString(R.string.radish_signin_signinactivity_027) + " ";
tips = firstPath + colorTip + temp + time + thirdPath;
spannableString = new SpannableString(tips);
int start = 0;
int end = firstPath.length();
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#979797"));
spannableString.setSpan(colorSpan, start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
start = end;
end += colorTip.length();
colorSpan = new ForegroundColorSpan(Color.parseColor("#FE3E53"));
spannableString.setSpan(colorSpan, start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
start = end;
end += temp.length();
colorSpan = new ForegroundColorSpan(Color.parseColor("#979797"));
spannableString.setSpan(colorSpan, start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
start = end;
end += time.length();
colorSpan = new ForegroundColorSpan(Color.parseColor("#FE3E53"));
spannableString.setSpan(colorSpan, start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
start = end;
end += thirdPath.length();
colorSpan = new ForegroundColorSpan(Color.parseColor("#979797"));
spannableString.setSpan(colorSpan, start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}
tvSignDay.setText(spannableString);
}
}
@Override
public void onStateSwitched(boolean isOn) {
switchSignInNotice.setEnabled(false);
getMvpPresenter().setRemind();
}
@Override
public void onInAppSharingItemClick() {
}
private Platform mSharePlatform;
private DialogManager mDialogManager;
@Override
public void onSharePlatformClick(Platform platform) {
mSharePlatform = platform;
showDialog();
getMvpPresenter().getShareImage(SignInModel.SHARE_TYPE_NORMAL, null, null);
}
private void showDialog() {
if (mDialogManager == null)
mDialogManager = new DialogManager(this);
mDialogManager.setCanceledOnClickBackKey(false);
mDialogManager.showProgressDialog(this);
}
private void dismissDialog() {
if (mDialogManager != null && mDialogManager.isDialogShowing())
mDialogManager.dismissDialog();
}
private long mConfigId = -1;
@Override
public void getRewardTotal(long id) {
showDialog();
mConfigId = id;
getMvpPresenter().receiveTotalReward(mConfigId);
}
@Override
public void drawGold() {
if (mSignDetailInfo == null) {
return;
}
if (mSignDetailInfo.getIsDrawGold() == SignDetailInfo.FLAG_DRAW_GOLD_OPEN_UN_DRAW) {
CertificateHelper helper = new CertificateHelper(this, new CertificateHelper.CertificateStatusListener() {
@Override
public void certificated() {
showDialog();
getMvpPresenter().signDraw(); // 瓜分钻石
}
});
helper.certificate(true);
}
}
}

View File

@@ -1,98 +0,0 @@
package com.chwl.app.radish.signin.adpter;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.core.content.ContextCompat;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.chwl.app.R;
import com.chwl.app.ui.utils.ImageLoadUtils;
import com.chwl.app.ui.widget.RedPointView;
import com.chwl.core.radish.signin.bean.RewardNoticeInfo;
import com.chwl.library.utils.ResUtil;
import java.util.List;
/**
* create by lvzebiao @2019/3/20
*/
public class RewardListAdapter extends BaseQuickAdapter<RewardNoticeInfo, BaseViewHolder> {
private int mSignDay = -1;
private boolean mIsSign = false;
/**
* 用户是否能补签最多补签5次
*/
private boolean userCanReplenish = false;
public RewardListAdapter(int layoutId, List<RewardNoticeInfo> data) {
super(layoutId, data);
}
public void setmSignDay(boolean isSign, int mSignDay) {
this.mSignDay = mSignDay;
this.mIsSign = isSign;
notifyDataSetChanged();
}
public void setUserCanReplenish(boolean userCanReplenish) {
this.userCanReplenish = userCanReplenish;
notifyDataSetChanged();
}
@Override
protected void convert(BaseViewHolder holder, RewardNoticeInfo item) {
if (item == null)
return;
holder.itemView.setEnabled(false);
//补签状态
TextView tvReplenishStatus = holder.getView(R.id.tv_replenish_status);
boolean hasSign = item.getReceive() || (mIsSign && mSignDay == item.getSignDays());
TextView tvRewardDescription = holder.getView(R.id.tv_reward_description);
tvRewardDescription.setText(item.getSignRewardName());
ImageView iv = holder.getView(R.id.riv_reward_img);
ImageLoadUtils.loadPhotoThumbnail(mContext, item.getIcon(), iv);
RedPointView rpv_reward_number = holder.getView(R.id.rpv_reward_number);
rpv_reward_number.setNumber("" + item.getSignDays());
rpv_reward_number.setBackgroundResource(R.drawable.shape_bg_sign_reward_number_blue);
rpv_reward_number.setVisibility(View.VISIBLE);
if (hasSign) {
holder.setVisible(R.id.iv_is_received, true)
.setVisible(R.id.view_reward_color_bg, true)
.setVisible(R.id.stv_reward_black_cover, true)
.setTextColor(R.id.tv_reward_description, ContextCompat.getColor(mContext, R.color.color_BA98FF));
rpv_reward_number.setVisibility(View.INVISIBLE);
if (item.getSignType() == RewardNoticeInfo.TYPE_SIGN_REPLENISH) {
tvReplenishStatus.setVisibility(View.VISIBLE);
tvReplenishStatus.setText(ResUtil.getString(R.string.signin_adpter_rewardlistadapter_01));
tvReplenishStatus.setBackground(null);
} else {
tvReplenishStatus.setVisibility(View.GONE);
}
} else {
holder.setVisible(R.id.iv_is_received, false)
.setVisible(R.id.view_reward_color_bg, false)
.setVisible(R.id.stv_reward_black_cover, false)
.setTextColor(R.id.tv_reward_description, ContextCompat.getColor(mContext, R.color.color_A4A4A6));
if (item.isCanReplenishSign()) {
rpv_reward_number.setBackgroundResource(R.drawable.shape_bg_sign_reward_number_gray);
tvReplenishStatus.setVisibility(View.VISIBLE);
tvReplenishStatus.setText(ResUtil.getString(R.string.signin_adpter_rewardlistadapter_02));
tvReplenishStatus.setBackgroundResource(userCanReplenish ?
R.drawable.shape_bg_replenish_status_ture : R.drawable.shape_bg_replenish_status_false);
holder.itemView.setEnabled(true);
} else {
tvReplenishStatus.setVisibility(View.GONE);
}
}
}
}

View File

@@ -1,216 +0,0 @@
package com.chwl.app.radish.signin.adpter;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.core.content.ContextCompat;
import com.coorchice.library.SuperTextView;
import com.chwl.app.R;
import com.chwl.app.radish.signin.view.RewardProgressView;
import com.chwl.core.radish.signin.bean.RewardNoticeInfo;
import com.chwl.core.radish.signin.bean.SignDetailInfo;
import com.chwl.library.utils.ResUtil;
import java.util.List;
public class RewardTotalNoticeAdapter{
private final View vFirst;
private final View vSecond;
private final View vThird;
private final View vFourth;
private final RewardProgressView mRewardProgressView;
private List<RewardNoticeInfo> mList;
private SignDetailInfo mSignDetailInfo;
public RewardTotalNoticeAdapter(View view) {
vFirst = view.findViewById(R.id.il_first);
vSecond = view.findViewById(R.id.il_second);
vThird = view.findViewById(R.id.il_third);
vFourth = view.findViewById(R.id.il_fourth);
mRewardProgressView = view.findViewById(R.id.reward_progress_view);
vFirst.setOnClickListener(view1 -> {
if (mRewardTotalListener != null && mList != null && mList.size() > 0)
mRewardTotalListener.getRewardTotal(mList.get(0).getSignRewardConfigId());
});
vSecond.setOnClickListener(view12 -> {
if (mRewardTotalListener != null && mList != null && mList.size() > 1)
mRewardTotalListener.getRewardTotal(mList.get(1).getSignRewardConfigId());
});
vThird.setOnClickListener(view13 -> {
if (mRewardTotalListener != null && mList != null && mList.size() > 2)
mRewardTotalListener.getRewardTotal(mList.get(2).getSignRewardConfigId());
});
vFourth.setOnClickListener(view14 -> {
if (mRewardTotalListener != null)
mRewardTotalListener.drawGold();
});
}
public void setmList(List<RewardNoticeInfo> list) {
this.mList = list;
showView(mList);
}
public List<RewardNoticeInfo> getmList() {
return mList;
}
public void setState(SignDetailInfo signDetailInfo) {
mSignDetailInfo = signDetailInfo;
showView(mList);
}
private void showView(boolean isReceived, View root, int levelDay, String label, boolean showIcon) {
ImageView ivReward = root.findViewById(R.id.iv_reward);
TextView tvReward = root.findViewById(R.id.tv_reward);
SuperTextView stv = root.findViewById(R.id.stv_shape);
stv.setVisibility(View.GONE);
if (isReceived) {
tvReward.setText(ResUtil.getString(R.string.signin_adpter_rewardtotalnoticeadapter_01) + levelDay + ResUtil.getString(R.string.signin_adpter_rewardtotalnoticeadapter_02));
tvReward.setTextColor(ContextCompat.getColor(tvReward.getContext(), R.color.color_FEE900));
ivReward.setImageResource(R.drawable.icon_reward_got);
root.setEnabled(false);
} else {
tvReward.setTextColor(ContextCompat.getColor(tvReward.getContext(), R.color.color_FEFEFE));
if (showIcon) {
ivReward.setImageResource(R.drawable.icon_reward_package);
stv.setVisibility(View.VISIBLE);
root.setEnabled(true);
} else {
ivReward.setImageResource(R.drawable.icon_reward_un_sign_in);
root.setEnabled(false);
}
tvReward.setText(label);
}
}
private void showView(List<RewardNoticeInfo> list) {
if (list != null) {
RewardNoticeInfo info;
boolean showIcon;
switch (list.size()) {
case 3:
info = list.get(2);
showIcon = mSignDetailInfo != null && mSignDetailInfo.getTotalDay() >= info.getSignDays();
if (info != null) {
showView(info.getReceive(), vThird, info.getSignDays(), info.getSignRewardName() + "\n" + info.getSignDays() + ResUtil.getString(R.string.signin_adpter_rewardtotalnoticeadapter_03), showIcon);
}
case 2:
info = list.get(1);
showIcon = mSignDetailInfo != null && mSignDetailInfo.getTotalDay() >= info.getSignDays();
if (info != null) {
showView(info.getReceive(), vSecond, info.getSignDays(), info.getSignRewardName() + "\n" + info.getSignDays() + ResUtil.getString(R.string.signin_adpter_rewardtotalnoticeadapter_04), showIcon);
}
case 1:
info = list.get(0);
showIcon = mSignDetailInfo != null && mSignDetailInfo.getTotalDay() >= info.getSignDays();
if (info != null) {
showView(info.getReceive(), vFirst, info.getSignDays(), info.getSignRewardName() + "\n" + info.getSignDays() + ResUtil.getString(R.string.signin_adpter_rewardtotalnoticeadapter_05), showIcon);
}
}
showFourth();
showProgress();
}
}
private void showProgress() {
if (mSignDetailInfo != null) {
if (mList == null || mList.size() == 0)
return;
int currentProgress = mSignDetailInfo.getTotalDay();
switch (mList.size()) {
case 3:
if (currentProgress < mList.get(0).getSignDays()) {
mRewardProgressView.setProress(RewardProgressView.PROGRESS_LESS_7_DAY);
} else if (currentProgress < mList.get(1).getSignDays()) {
mRewardProgressView.setProress(RewardProgressView.PROGRESS_MORE_7_DAY);
} else if (currentProgress < mList.get(2).getSignDays()) {
mRewardProgressView.setProress(RewardProgressView.PROGRESS_MORE_14_DAY);
} else if (currentProgress < 28) {
mRewardProgressView.setProress(RewardProgressView.PROGRESS_MORE_21_DAY);
} else
mRewardProgressView.setProress(RewardProgressView.PROGRESS_IS_28_DAY);
break;
case 2:
if (currentProgress < mList.get(0).getSignDays()) {
mRewardProgressView.setProress(RewardProgressView.PROGRESS_LESS_7_DAY);
} else if (currentProgress < mList.get(1).getSignDays()) {
mRewardProgressView.setProress(RewardProgressView.PROGRESS_MORE_7_DAY);
} else if (currentProgress < 28) {
mRewardProgressView.setProress(RewardProgressView.PROGRESS_MORE_21_DAY);
} else
mRewardProgressView.setProress(RewardProgressView.PROGRESS_IS_28_DAY);
break;
case 1:
if (currentProgress < mList.get(0).getSignDays()) {
mRewardProgressView.setProress(RewardProgressView.PROGRESS_LESS_7_DAY);
} else if (currentProgress < 28) {
mRewardProgressView.setProress(RewardProgressView.PROGRESS_MORE_21_DAY);
} else
mRewardProgressView.setProress(RewardProgressView.PROGRESS_IS_28_DAY);
break;
}
}
}
private void showFourth() {
if (mSignDetailInfo != null) {
if (mSignDetailInfo.getIsDrawGold() == SignDetailInfo.FLAG_DRAW_GOLD_OPEN_DRAW) { // 已瓜分
showView(true, vFourth, 28, ResUtil.getString(R.string.signin_adpter_rewardtotalnoticeadapter_06), true);
} else if (mSignDetailInfo.getIsDrawGold() == SignDetailInfo.FLAG_DRAW_GOLD_OPEN_UN_DRAW) { // 能瓜分但未瓜分
showView(false, vFourth, 28, ResUtil.getString(R.string.signin_adpter_rewardtotalnoticeadapter_07), mSignDetailInfo != null && mSignDetailInfo.getTotalDay() >= 28);
} else if (mSignDetailInfo.getIsDrawGold() == SignDetailInfo.FLAG_DRAW_GOLD_UN_OPEN) { // 不可瓜分
showView(false, vFourth, 28, ResUtil.getString(R.string.signin_adpter_rewardtotalnoticeadapter_08), false);
}
}
// if (mSignDetailInfo != null && mSignDetailInfo.getIsDrawGold() == SignDetailInfo.FLAG_DRAW_GOLD_OPEN_DRAW) {
// showView(true, vFourth, 28, ResUtil.getString(R.string.signin_adpter_rewardtotalnoticeadapter_09));
//
// } else
// showView(false, vFourth, 28, ResUtil.getString(R.string.signin_adpter_rewardtotalnoticeadapter_010));
}
private RewardTotalListener mRewardTotalListener;
public void setmRewardTotalListener(RewardTotalListener rewardTotalListener) {
this.mRewardTotalListener = rewardTotalListener;
}
public interface RewardTotalListener {
void getRewardTotal(long id);
void drawGold();
}
}

View File

@@ -1,41 +0,0 @@
package com.chwl.app.radish.signin.helper;
import android.content.Context;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import android.widget.TextView;
import com.chwl.app.R;
import com.chwl.app.common.widget.dialog.DialogManager;
import com.chwl.app.utils.SpannableBuilder;
import com.chwl.library.utils.ResUtil;
/**
* create by lvzebiao @2019/4/28
*/
public class SignInUiHelper {
public static void showSupplementSignSuccessDialog(Context context, DialogManager dialogManager,
String prizeName) {
if (dialogManager == null) {
dialogManager = new DialogManager(context);
}
View customView = View.inflate(context, R.layout.dialog_supplement_sign_success, null);
TextView tvTitle = customView.findViewById(R.id.tv_title);
tvTitle.setText(ResUtil.getString(R.string.signin_helper_signinuihelper_01));
TextView tvContent = customView.findViewById(R.id.tv_content);
if (!TextUtils.isEmpty(prizeName)) {
tvContent.setVisibility(View.VISIBLE);
SpannableBuilder builder = new SpannableBuilder();
builder.append(ResUtil.getString(R.string.signin_helper_signinuihelper_02))
.append(prizeName, new ForegroundColorSpan(context.getResources().getColor(R.color.appColor)));
tvContent.setText(builder.build());
} else {
tvContent.setVisibility(View.GONE);
}
dialogManager.showOkCancelCustomDialog(customView, ResUtil.getString(R.string.signin_helper_signinuihelper_03), null, true, null);
}
}

View File

@@ -1,192 +0,0 @@
package com.chwl.app.radish.signin.presenter;
import com.chwl.app.base.BaseMvpPresenter;
import com.chwl.app.radish.signin.view.ISignInView;
import com.chwl.core.radish.signin.ISignInModel;
import com.chwl.core.radish.signin.SignInModel;
import com.chwl.core.radish.signin.bean.DrawNoticeInfo;
import com.chwl.core.radish.signin.bean.ReceiveTotalRewardInfo;
import com.chwl.core.radish.signin.bean.RewardNoticeInfo;
import com.chwl.core.radish.signin.bean.SignDetailInfo;
import com.chwl.core.radish.signin.bean.SignDrawInfo;
import com.chwl.core.radish.signin.bean.SignInfo;
import com.chwl.core.utils.net.BeanObserver;
import java.util.List;
/**
* create by lvzebiao @2019/3/20
*/
public class SignInPresenter extends BaseMvpPresenter<ISignInView> {
private ISignInModel dataModel = new SignInModel();
public void getSignDetail(boolean isReplenish) {
dataModel.signDetail().subscribe(new BeanObserver<SignDetailInfo>() {
@Override
public void onErrorMsg(String error) {
if (mMvpView != null)
mMvpView.getSignDetailFail(error);
}
@Override
public void onSuccess(SignDetailInfo signDetailInfo) {
if (mMvpView != null)
mMvpView.getSignDetailSuccess(signDetailInfo, isReplenish);
}
});
}
public void getSignDetail() {
getSignDetail(false);
}
public void sign() {
dataModel.sign().subscribe(new BeanObserver<SignInfo>() {
@Override
public void onErrorMsg(String error) {
if (mMvpView != null)
mMvpView.signFail(error);
}
@Override
public void onSuccess(SignInfo integer) {
if (mMvpView != null)
mMvpView.signSuccess(integer.getSignGoldNum());
}
});
}
public void signDraw() {
dataModel.signDraw().subscribe(new BeanObserver<SignDrawInfo>() {
@Override
public void onErrorMsg(String error) {
if (mMvpView != null)
mMvpView.drawFail(error);
}
@Override
public void onSuccess(SignDrawInfo signDrawInfo) {
if (mMvpView != null)
mMvpView.drawSuccess(signDrawInfo);
}
});
}
public void setRemind() {
dataModel.signRemind().subscribe(new BeanObserver<Boolean>() {
@Override
public void onErrorMsg(String error) {
if (mMvpView != null)
mMvpView.setRemindFail(error);
}
@Override
public void onSuccess(Boolean aBoolean) {
if (mMvpView != null)
mMvpView.setRemindSuccess();
}
});
}
public void getDrawNotice() {
dataModel.drawNotice().subscribe(new BeanObserver<List<DrawNoticeInfo>>() {
@Override
public void onErrorMsg(String error) {
if (mMvpView != null)
mMvpView.getDrawNoticeFail(error);
}
@Override
public void onSuccess(List<DrawNoticeInfo> s) {
if (mMvpView != null)
mMvpView.getDrawNoticeSuccess(s);
}
});
}
public void getRewardTotalNotice() {
dataModel.getRewardTotalNotice().subscribe(new BeanObserver<List<RewardNoticeInfo>>() {
@Override
public void onErrorMsg(String error) {
if (mMvpView != null)
mMvpView.getRewardTotalNoticeFail(error);
}
@Override
public void onSuccess(List<RewardNoticeInfo> rewardNoticeInfos) {
if (mMvpView != null)
mMvpView.getRewardTotalNoticeSuccess(rewardNoticeInfos);
}
});
}
public void getRewardTodayNotice() {
dataModel.getRewardTodayNotice().subscribe(new BeanObserver<List<RewardNoticeInfo>>() {
@Override
public void onErrorMsg(String error) {
if (mMvpView != null)
mMvpView.getRewardTodayNoticeFail(error);
}
@Override
public void onSuccess(List<RewardNoticeInfo> rewardNoticeInfos) {
if (mMvpView != null)
mMvpView.getRewardTodayNoticeSuccess(rewardNoticeInfos);
}
});
}
public void getShareImage(int shareType, String day, String reward) {
dataModel.getShareImage(shareType, day, reward).subscribe(new BeanObserver<String>() {
@Override
public void onErrorMsg(String error) {
if (mMvpView != null)
mMvpView.getShareImageFail(error);
}
@Override
public void onSuccess(String s) {
if (mMvpView != null)
mMvpView.getShareImageSuccess(s);
}
});
}
public void receiveTotalReward(long configId) {
dataModel.receiveTotalReward(configId).subscribe(new BeanObserver<ReceiveTotalRewardInfo>() {
@Override
public void onErrorMsg(String error) {
if (mMvpView != null)
mMvpView.receiveTotalRewardFail(error);
}
@Override
public void onSuccess(ReceiveTotalRewardInfo s) {
if (mMvpView != null)
mMvpView.receiveTotalRewardSuccess(s);
}
});
}
public ISignInModel getDataModel() {
return dataModel;
}
}

View File

@@ -1,85 +0,0 @@
package com.chwl.app.radish.signin.view;
import android.content.Context;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.core.content.ContextCompat;
import com.chwl.app.R;
import com.chwl.app.ui.widget.marqueeview.BetterMarqueeView;
import com.chwl.core.radish.signin.bean.DrawNoticeInfo;
import com.chwl.library.utils.ResUtil;
import java.util.List;
/**
* create by lvzebiao @2019/3/14
* 瓜分钻石的消息轮播器
*/
public class CarveUpGoldAdapter extends BetterMarqueeView.Adapter<CarveUpGoldAdapter.MessageViewHolder>{
private Context context;
private List<DrawNoticeInfo> data;
private ForegroundColorSpan mFirstColor;
private ForegroundColorSpan mSecondColor;
private ForegroundColorSpan mThirdColor;
public CarveUpGoldAdapter(Context context, List<DrawNoticeInfo> data) {
this.context = context;
this.data = data;
mSecondColor = new ForegroundColorSpan(ContextCompat.getColor(context, R.color.appColor));
mFirstColor = new ForegroundColorSpan(ContextCompat.getColor(context, R.color.white));
mThirdColor = new ForegroundColorSpan(ContextCompat.getColor(context, R.color.white));
}
@Override
public CarveUpGoldAdapter.MessageViewHolder onCreateView(ViewGroup parent) {
return new CarveUpGoldAdapter.MessageViewHolder(
LayoutInflater.from(this.context)
.inflate(R.layout.item_carve_up_result,
parent, false));
}
@Override
public void onBindViewHolder(CarveUpGoldAdapter.MessageViewHolder holder, int position) {
DrawNoticeInfo info = data.get(position);
if (info == null)
return;
String first = "ID" + info.getErbanNo() + ResUtil.getString(R.string.signin_view_carveupgoldadapter_01);
String second = String.valueOf(info.getGoldNum()) + ResUtil.getString(R.string.signin_view_carveupgoldadapter_02);
String third = "!";
SpannableString spannableString = new SpannableString(first + second + third);
spannableString.setSpan(mFirstColor, 0, first.length(), SpannableString.SPAN_INCLUSIVE_EXCLUSIVE);
spannableString.setSpan(mSecondColor, first.length(), first.length() + second.length(), SpannableString.SPAN_INCLUSIVE_EXCLUSIVE);
spannableString.setSpan(mThirdColor, first.length() + second.length(), first.length() + second.length() + third.length(), SpannableString.SPAN_INCLUSIVE_EXCLUSIVE);
}
@Override
public int getSize() {
return data.size();
}
public void setNewData(List<DrawNoticeInfo> newData) {
data.clear();
data.addAll(newData);
notifyDateSetChange();
}
class MessageViewHolder extends BetterMarqueeView.ViewHolder {
public MessageViewHolder(View view) {
super(view);
}
}
}

View File

@@ -1,42 +0,0 @@
package com.chwl.app.radish.signin.view;
import com.chwl.core.radish.signin.bean.DrawNoticeInfo;
import com.chwl.core.radish.signin.bean.ReceiveTotalRewardInfo;
import com.chwl.core.radish.signin.bean.RewardNoticeInfo;
import com.chwl.core.radish.signin.bean.SignDetailInfo;
import com.chwl.core.radish.signin.bean.SignDrawInfo;
import com.chwl.library.base.IMvpBaseView;
import java.util.List;
/**
* create by lvzebiao @2019/3/20
*/
public interface ISignInView extends IMvpBaseView {
void signSuccess(long count);
void signFail(String message);
void getSignDetailSuccess(SignDetailInfo signDetailInfo, boolean isReplenish);
void getSignDetailFail(String message);
void drawSuccess(SignDrawInfo signDrawInfo);
void drawFail(String message);
void setRemindSuccess();
void setRemindFail(String message);
void getDrawNoticeSuccess(List<DrawNoticeInfo> list);
void getDrawNoticeFail(String message);
void getRewardTotalNoticeSuccess(List<RewardNoticeInfo> list);
void getRewardTotalNoticeFail(String message);
void getRewardTodayNoticeSuccess(List<RewardNoticeInfo> list);
void getRewardTodayNoticeFail(String message);
void getShareImageSuccess(String picUrl);
void getShareImageFail(String message);
void receiveTotalRewardSuccess(ReceiveTotalRewardInfo info);
void receiveTotalRewardFail(String message);
}

View File

@@ -1,93 +0,0 @@
package com.chwl.app.radish.signin.view;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
import androidx.annotation.Nullable;
import com.chwl.app.R;
import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil;
/**
* 签到奖品的进度
* create by lvzebiao @2019/3/15
*/
public class RewardProgressView extends View {
/**小于7天*/
public final static int PROGRESS_LESS_7_DAY = 1;
/**>=7天*/
public final static int PROGRESS_MORE_7_DAY = 2;
/**>=14天*/
public final static int PROGRESS_MORE_14_DAY = 3;
/**>=21天*/
public final static int PROGRESS_MORE_21_DAY = 4;
/**=28天*/
public final static int PROGRESS_IS_28_DAY = 5;
private int progressType;
private Paint paint;
private int lineTop, lineBottom;
private int bgColor, progressColor;
public RewardProgressView(Context context) {
this(context, null);
}
public RewardProgressView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
progressType = PROGRESS_LESS_7_DAY;
paint = new Paint();
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL);
lineTop = UIUtil.dip2px(context, 2);
lineBottom = UIUtil.dip2px(context, 7);
bgColor = context.getResources().getColor(R.color.color_A98AFF);
progressColor = Color.WHITE;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (progressType == PROGRESS_LESS_7_DAY) {
paint.setColor(bgColor);
canvas.drawRect(0, lineTop, getWidth(), lineBottom, paint);
} else {
int offsetX = 0;
if (progressType == PROGRESS_MORE_7_DAY){
offsetX = getWidth() / 6;
} else if (progressType == PROGRESS_MORE_14_DAY){
offsetX = getWidth() / 2;
} else if (progressType == PROGRESS_MORE_21_DAY){
offsetX = getWidth() * 5 / 6;
} else if (progressType == PROGRESS_IS_28_DAY){
offsetX = getWidth();
}
paint.setColor(progressColor);
canvas.drawRect(0, lineTop, offsetX, lineBottom, paint);
paint.setColor(bgColor);
canvas.drawRect(offsetX, lineTop, getWidth(), lineBottom, paint);
//画圆点
int radius = getHeight() / 2;
paint.setColor(progressColor);
canvas.drawCircle(offsetX, radius, radius, paint);
}
}
public void setProress(int proress) {
this.progressType = proress;
invalidate();
}
}

View File

@@ -1,36 +0,0 @@
package com.chwl.app.radish.signin.view;
import android.content.Context;
import android.os.Build;
import android.webkit.WebSettings;
import android.webkit.WebViewClient;
import com.chwl.app.R;
import com.chwl.app.databinding.DialogRuleBinding;
import com.chwl.app.base.BaseBindingDialog;
import com.chwl.core.UriProvider;
import com.chwl.library.annatation.ActLayoutRes;
@ActLayoutRes(R.layout.dialog_rule)
public class RuleDialog extends BaseBindingDialog<DialogRuleBinding> {
public RuleDialog(Context context) {
super(context);
}
@Override
protected void init() {
binding.ivClose.setOnClickListener(v -> dismiss());
binding.wvRule.getSettings().setUseWideViewPort(true);
// 设置 WebView 可以在 HTTPS 通道上加载 HTTP 资源Android 4.4 后的暗坑
// 因为 Android 4.4 后默认不允许在 HTTPS 通道上加载 HTTP 资源
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
binding.wvRule.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
}
binding.wvRule.getSettings().setTextZoom(100);
binding.wvRule.setWebViewClient(new WebViewClient());
// 设置Webview的user-agent
binding.wvRule.getSettings().setUserAgentString(binding.wvRule.getSettings().getUserAgentString() + " hiyooAppAndroid");
binding.wvRule.loadUrl(UriProvider.JAVA_WEB_URL + "/hiyoo/modules/rule/rule-popup.html");
}
}

View File

@@ -1,194 +0,0 @@
package com.chwl.app.radish.signin.view;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.TypedValue;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatDialog;
import com.chwl.app.R;
import com.chwl.app.radish.signin.SignInActivity;
import com.chwl.app.utils.NumberFormatUtil;
import com.chwl.core.radish.signin.ISignInModel;
import com.chwl.core.radish.signin.SignInModel;
import com.chwl.core.radish.signin.bean.SignDetailInfo;
import com.chwl.core.radish.signin.bean.SignInfo;
import com.chwl.core.utils.net.BeanObserver;
import com.chwl.core.utils.net.RxHelper;
import com.chwl.library.utils.ResUtil;
import com.chwl.library.utils.SingleToastUtil;
import com.yy.mobile.rollingtextview.CharOrder;
import com.yy.mobile.rollingtextview.RollingTextView;
import com.yy.mobile.rollingtextview.strategy.Direction;
import com.yy.mobile.rollingtextview.strategy.Strategy;
/**
* 签到弹框
* create by lvzebiao @2019/3/15
*/
public class SignInDialog extends AppCompatDialog {
private Context context;
private TextView tvAwardInfo;
private RollingTextView rtvGoldPool;
private TextView tvSignInOp;
private ImageView ivClose;
private SignDetailInfo detailInfo;
private boolean hasClickSignIn = false;
private ISignInModel model = new SignInModel();
public SignInDialog(Context context, SignDetailInfo detailInfo) {
this(context, 0, detailInfo);
}
public SignInDialog(Context context, int theme, SignDetailInfo detailInfo) {
super(context, theme);
this.context = context;
this.detailInfo = detailInfo;
}
public static void display(Context context, SignDetailInfo detailInfo) {
SignInDialog dialog = new SignInDialog(context, detailInfo);
dialog.show();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_sign_in);
findView();
initListener();
setCancelable(true);
setCanceledOnTouchOutside(true);
Window window = getWindow();
if (window != null) {
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
WindowManager.LayoutParams windowParams = window.getAttributes();
windowParams.width = WindowManager.LayoutParams.MATCH_PARENT;
windowParams.height = WindowManager.LayoutParams.MATCH_PARENT;
windowParams.dimAmount = 0.65f;
window.setAttributes(windowParams);
//默认动画
//window.setWindowAnimations(R.style.anim_sign_in);
}
rtvGoldPool.addCharOrder(",");
rtvGoldPool.addCharOrder(CharOrder.Number);
rtvGoldPool.setCharStrategy(Strategy.CarryBitAnimation(Direction.SCROLL_UP));
rtvGoldPool.setAnimationDuration(300);
rtvGoldPool.setOnClickListener(v -> SignInActivity.start(context));
loadData(true);
}
private void findView() {
tvAwardInfo = findViewById(R.id.tv_award_info);
rtvGoldPool = findViewById(R.id.rtv_gold_pool);
tvSignInOp = findViewById(R.id.tv_sign_in_op);
ivClose = findViewById(R.id.iv_close);
}
private void initListener() {
ivClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dismiss();
}
});
}
private void loadData(boolean isSetPoolNumbe) {
setDataView(isSetPoolNumbe);
}
private void setDataView(boolean isSetPoolNumber) {
if (detailInfo == null) {
return;
}
refreshSignStatus();
if (isSetPoolNumber) {
rtvGoldPool.setText(NumberFormatUtil.formatCommaInt(detailInfo.getShowGoldNum()), false);
}
tvAwardInfo.setVisibility(View.INVISIBLE);
setAwardInfo();
}
/**
* 刷新状态
*/
private void refreshSignStatus() {
tvSignInOp.setClickable(false);
tvSignInOp.setTextColor(context.getResources().getColor(R.color.white));
tvSignInOp.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18);
if (detailInfo.isSign()) {
tvSignInOp.setBackgroundResource(R.drawable.icon_sign_in_ed_status);
tvSignInOp.setText(context.getString(R.string.sign_in_continue_number_days,
detailInfo.getTotalDay()));
} else {
tvSignInOp.setClickable(true);
tvSignInOp.setBackgroundResource(R.drawable.icon_sign_in_un_status);
tvSignInOp.setText(R.string.status_point_me_to_sign_in);
tvSignInOp.setOnClickListener(v -> requestSign());
}
}
private void setAwardInfo() {
if (detailInfo == null) {
return;
}
if (detailInfo.isSign() && !TextUtils.isEmpty(detailInfo.getSignPrizeName())) {
tvAwardInfo.setVisibility(View.VISIBLE);
tvAwardInfo.setText(ResUtil.getString(R.string.signin_view_signindialog_01) + detailInfo.getShowText());
}
}
private void requestSign() {
if (detailInfo == null) {
return;
}
hasClickSignIn = true;
tvSignInOp.setClickable(false);
model.sign().compose(RxHelper.bindContext(context))
.subscribe(new BeanObserver<SignInfo>() {
@Override
public void onErrorMsg(String error) {
SingleToastUtil.showToast(error);
tvSignInOp.setClickable(true);
}
@Override
public void onSuccess(SignInfo signInfo) {
long addGoldNum = signInfo.getSignGoldNum();
SingleToastUtil.showToast(ResUtil.getString(R.string.signin_view_signindialog_05) + addGoldNum + ResUtil.getString(R.string.signin_view_signindialog_06));
//启动播放动画
long newPoolNumber = addGoldNum + detailInfo.getShowGoldNum();
rtvGoldPool.setText(NumberFormatUtil.formatCommaInt(newPoolNumber), true);
detailInfo.setIsSign(1);
detailInfo.setTotalDay(detailInfo.getTotalDay() + 1);
loadData(false);
model.signDetail().subscribe(new BeanObserver<SignDetailInfo>() {
@Override
public void onErrorMsg(String error) {
}
@Override
public void onSuccess(SignDetailInfo info) {
detailInfo = info;
setAwardInfo();
}
});
}
});
}
}

View File

@@ -15,12 +15,10 @@ import com.chwl.app.databinding.ActivityTeamManagementBinding;
import com.chwl.app.friend.view.SelectFriendActivity;
import com.chwl.app.team.viewmodel.TeamVM;
import com.chwl.app.ui.widget.ButtonItem;
import com.chwl.app.ui.widget.ShareDialog;
import com.chwl.core.auth.AuthModel;
import com.chwl.core.family.bean.FamilyInfo;
import com.chwl.core.family.model.FamilyModel;
import com.chwl.core.manager.IMNetEaseManager;
import com.chwl.core.share.ShareModel;
import com.chwl.core.share.bean.SessionType;
import com.chwl.core.team.bean.TeamEvent;
import com.chwl.core.team.bean.TeamInfo;
@@ -34,7 +32,6 @@ import com.chwl.library.widget.IOSSwitchView;
import java.util.ArrayList;
import java.util.List;
import cn.sharesdk.framework.Platform;
import io.reactivex.SingleObserver;
import io.reactivex.disposables.Disposable;
@@ -43,7 +40,7 @@ import io.reactivex.disposables.Disposable;
*/
@ActLayoutRes(R.layout.activity_team_management)
public class NimTeamManagementActivity extends BaseBindingTakePhotoActivity<ActivityTeamManagementBinding>
implements ShareDialog.OnShareDialogItemClick, BaseBindingTakePhotoActivity.OnUploadListener {
implements BaseBindingTakePhotoActivity.OnUploadListener {
private static final String TAG = "NimTeamManagementActivi";
@@ -51,7 +48,6 @@ public class NimTeamManagementActivity extends BaseBindingTakePhotoActivity<Acti
private String teamId;
private TeamVM teamViewModel;
private ShareDialog shareDialog;
private TeamInfo teamInfo;
public static void start(Context context, String teamId) {
@@ -92,9 +88,6 @@ public class NimTeamManagementActivity extends BaseBindingTakePhotoActivity<Acti
@Override
public void performAction(View view) {
shareDialog = new ShareDialog(NimTeamManagementActivity.this);
shareDialog.setOnShareDialogItemClick(NimTeamManagementActivity.this);
shareDialog.show();
}
});
@@ -340,43 +333,6 @@ public class NimTeamManagementActivity extends BaseBindingTakePhotoActivity<Acti
}));
}
@Override
public void onInAppSharingItemClick() {
if (shareDialog != null && shareDialog.isShowing()) {
shareDialog.dismiss();
}
SelectFriendActivity.startForSharingTeam(this);
}
@Override
public void onSharePlatformClick(Platform platform) {
if (teamInfo != null) {
ShareModel.get().shareFamilyTeam(
platform,
teamInfo.getFamilyId(),
teamInfo.getIcon(),
teamInfo.getName()
)
.compose(bindUntilEvent(ActivityEvent.DESTROY))
.subscribe(new SingleObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onSuccess(String s) {
toast(s);
}
@Override
public void onError(Throwable e) {
toast(e.getMessage());
}
});
}
}
@Override
public void onUploadSuccess(String url) {
teamViewModel.updateTeamIcon(teamInfo.getId(), url)

View File

@@ -29,7 +29,6 @@ import com.chwl.app.ui.im.chat.MsgViewHolderP2PContactRecharge;
import com.chwl.app.ui.im.chat.MsgViewHolderRedPacket;
import com.chwl.app.ui.im.chat.MsgViewHolderSkill;
import com.chwl.app.ui.im.chat.MsgViewHolderText;
import com.chwl.app.ui.im.chat.SignInNoticeMsgViewHolder;
import com.chwl.app.ui.im.chat.SysMsgV2ViewHolder;
import com.chwl.app.ui.im.chat.SysMsgViewHolder;
import com.chwl.app.ui.user.activity.UserInfoActivity;
@@ -52,7 +51,6 @@ import com.chwl.core.im.custom.bean.NewbieHelloAttachment;
import com.chwl.core.im.custom.bean.NobleAttachment;
import com.chwl.core.im.custom.bean.NoticeAttachment;
import com.chwl.core.im.custom.bean.OpenRoomNotiAttachment;
import com.chwl.core.im.custom.bean.OpenSignInAttachment;
import com.chwl.core.im.custom.bean.P2PContactRechargeAttachment;
import com.chwl.core.im.custom.bean.RedPacketAttachment;
import com.chwl.core.im.custom.bean.SkillMsgAttachment;
@@ -146,8 +144,6 @@ public class ImInitHelper {
HallDataManager.get().mainNimOnCreate();
//公会模块
NimUIKit.registerMsgItemViewHolder(ClanAttachment.class, ClanMsgViewHolder.class);
//签到
NimUIKit.registerMsgItemViewHolder(OpenSignInAttachment.class, SignInNoticeMsgViewHolder.class);
//瓜分钻石 三级
NimUIKit.registerMsgItemViewHolder(CarveUpGoldThirdLevelAttachment.class, MsgViewHolderText.class);

View File

@@ -21,7 +21,6 @@ import com.chwl.app.home.helper.OpenRoomHelper;
import com.chwl.app.module_hall.HallDataManager;
import com.chwl.app.module_hall.hall.activity.ModuleClanActivity;
import com.chwl.app.module_hall.hall.activity.ModuleHallActivity;
import com.chwl.app.radish.signin.SignInActivity;
import com.chwl.app.radish.task.activity.TaskCenterActivity;
import com.chwl.app.relation.cp.activity.CpHomeActivity;
import com.chwl.app.relation.cp.activity.CpInviteRecordActivity;
@@ -167,9 +166,6 @@ public class RouterHandler {
}
});
break;
case RouterType.SIGN_IN:
SignInActivity.start(context);
break;
case RouterType.DO_TASK:
TaskCenterActivity.start(context, TaskCenterActivity.FromPage.FIND);
break;

View File

@@ -1,54 +0,0 @@
package com.chwl.app.ui.im.chat;
import android.view.View;
import android.widget.TextView;
import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.chwl.app.R;
import com.chwl.app.radish.signin.SignInActivity;
import com.chwl.core.im.custom.bean.OpenSignInAttachment;
/**
* 签到提醒
* create by lvzebiao @2019/3/20
*/
public class SignInNoticeMsgViewHolder extends MsgViewHolderBase {
private View llSignInContainer;
private TextView tvContent;
private TextView tvTitle;
public SignInNoticeMsgViewHolder(BaseMultiItemFetchLoadAdapter adapter) {
super(adapter);
}
@Override
protected int getContentResId() {
return R.layout.layout_msg_view_holder_sign_in_notice;
}
@Override
protected void inflateContentView() {
llSignInContainer = findViewById(R.id.ll_sign_in_container);
tvContent = findViewById(R.id.tv_content);
tvTitle = findViewById(R.id.tv_title);
}
@Override
protected void bindContentView() {
llSignInContainer.setOnClickListener(v -> SignInActivity.start(context));
OpenSignInAttachment attachment = (OpenSignInAttachment) message.getAttachment();
//setData
String title = null;
String content = null;
if (attachment != null && attachment.getImNotice() != null) {
title = attachment.getImNotice().getTitle();
content = attachment.getImNotice().getContent();
}
tvTitle.setText(title);
tvContent.setText(content);
}
}

View File

@@ -42,7 +42,6 @@ import com.chwl.app.base.BaseActivity;
import com.chwl.app.ui.im.RouterHandler;
import com.chwl.app.ui.webview.event.ShowNavEvent;
import com.chwl.app.ui.webview.event.TaroPayResultEvent;
import com.chwl.app.ui.widget.ShareDialog;
import com.chwl.app.utils.WebViewUtils;
import com.chwl.core.Constants;
import com.chwl.core.UriProvider;
@@ -59,7 +58,6 @@ import org.greenrobot.eventbus.ThreadMode;
import java.util.HashMap;
import java.util.Map;
import cn.sharesdk.framework.Platform;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
@@ -67,7 +65,7 @@ import io.reactivex.schedulers.Schedulers;
/**
* @author Administrator
*/
public class CommonWebViewActivity extends BaseActivity implements ShareDialog.OnShareDialogItemClick {
public class CommonWebViewActivity extends BaseActivity {
protected FrameLayout layoutTitleBar;
protected WebView webView;
@@ -169,10 +167,6 @@ public class CommonWebViewActivity extends BaseActivity implements ShareDialog.O
private void setListener() {
imgShare.setOnClickListener(v -> {
ShareDialog shareDialog = new ShareDialog(mActivity);
shareDialog.setOnShareDialogItemClick(CommonWebViewActivity.this);
shareDialog.setType(ShareDialog.TYPE_SHARE_H5);
shareDialog.show();
});
mIvBack.setOnClickListener(v -> {
@@ -421,57 +415,6 @@ public class CommonWebViewActivity extends BaseActivity implements ShareDialog.O
}
}
@Override
public void onInAppSharingItemClick() {
// SelectFriendActivity.startForSharingH5(this);
}
@Override
public void onSharePlatformClick(Platform platform) {
// if (mWebJsBeanInfo != null && mWebJsBeanInfo.getData() != null) {
// if (platform.getName().equals("GooglePlus")) {
// try {
// ClipboardManager cm = (ClipboardManager) this.getSystemService(Context.CLIPBOARD_SERVICE);
// cm.setPrimaryClip(ClipData.newPlainText("text", mWebJsBeanInfo.getData().getLink()));
// toast(getString(R.string.have_copy));
// } catch (Exception e) {
// Logger.i("copyText", String.valueOf(e));
// toast(String.valueOf(e));
// }
// } else {
// switch (mWebJsBeanInfo.getType()) {
// case WebJsBeanInfo.IMAGE:
// if (TextUtils.isEmpty(mWebJsBeanInfo.getData().getImgUrl())) {
// break;
// }
// ShareModel.get().shareImage(platform, mWebJsBeanInfo.getData().getImgUrl());
// break;
// default:
// ShareModel.get().shareH5(mWebJsBeanInfo.getData(), platform).subscribe(new SingleObserver<String>() {
// @Override
// public void onSubscribe(Disposable d) {
//
// }
//
// @Override
// public void onSuccess(String s) {
// toast(s);
// }
//
// @Override
// public void onError(Throwable e) {
// toast(e.getMessage());
// }
// });
// }
// }
// } else {
// toast(ResUtil.getString(R.string.ui_webview_commonwebviewactivity_011));
// }
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onRecieveNeedRefreshWebView(WebViewRefreshEvent event) {
if (!StringUtil.isEmpty(url)) {

View File

@@ -28,7 +28,6 @@ import com.chwl.app.ui.pay.ChargeActivity;
import com.chwl.app.ui.webview.event.H5NotifyClientEvent;
import com.chwl.app.ui.webview.event.ShowNavEvent;
import com.chwl.app.ui.webview.event.TaroPayResultEvent;
import com.chwl.app.ui.widget.ShareDialog;
import com.chwl.core.XConstants;
import com.chwl.core.auth.AuthModel;
import com.chwl.core.decoration.bean.DecorationStoreRouterType;
@@ -148,14 +147,6 @@ public class JSInterface {
@JavascriptInterface
public void openSharePage() {
if (mActivity != null) {
mActivity.runOnUiThread(() -> {
ShareDialog shareDialog = new ShareDialog(mActivity);
shareDialog.setOnShareDialogItemClick(mActivity);
shareDialog.setType(ShareDialog.TYPE_SHARE_H5);
shareDialog.show();
});
}
}
@JavascriptInterface
@@ -163,14 +154,6 @@ public class JSInterface {
Logger.e("openSharePage: " + json);
WebJsBeanInfo webJsBeanInfo = JSON.parseObject(json, WebJsBeanInfo.class);
RxBus.get().post(new ShareH5Event().setWebJsBeanInfo(webJsBeanInfo));
if (mActivity != null) {
mActivity.runOnUiThread(() -> {
ShareDialog shareDialog = new ShareDialog(mActivity);
shareDialog.setOnShareDialogItemClick(mActivity);
shareDialog.setType(ShareDialog.TYPE_SHARE_H5);
shareDialog.show();
});
}
}
/**

View File

@@ -1,151 +0,0 @@
package com.chwl.app.ui.widget;
import static com.chwl.library.utils.ResUtil.getString;
import android.content.Context;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.chwl.app.R;
import com.chwl.library.utils.SingleToastUtil;
import cn.sharesdk.framework.Platform;
/**
* @author xiaoyu
* @date 2017/12/13
*/
public class ShareDialog extends BottomSheetDialog implements View.OnClickListener {
public static final int TYPE_SHARE_NORMAL = 0;
public static final int TYPE_SHARE_ROOM = 1;
public static final int TYPE_SHARE_FAMILY = 2;
public static final int TYPE_SHARE_TEAM = 3;
public static final int TYPE_SHARE_H5 = 4;
private static final String TAG = "ShareDialog";
private Context context;
private TextView tvErban;
private TextView tv_share_link;
private TextView tvLine;
// private TextView tvFaceBook;
private TextView tvCancel;
private OnShareDialogItemClick onShareDialogItemClick;
private int type = TYPE_SHARE_NORMAL;
public ShareDialog(Context context) {
super(context, R.style.ErbanBottomSheetDialog);
this.context = context;
}
public void setOnShareDialogItemClick(OnShareDialogItemClick onShareDialogItemClick) {
this.onShareDialogItemClick = onShareDialogItemClick;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_share);
setCanceledOnTouchOutside(true);
tvErban = findViewById(R.id.tv_erban);
tv_share_link = (TextView) findViewById(R.id.tv_share_link);
tvLine = (TextView) findViewById(R.id.tv_line);
// tvFaceBook = (TextView) findViewById(R.id.tv_facebook);
tvCancel = (TextView) findViewById(R.id.tv_cancel);
tvErban.setOnClickListener(this);
tv_share_link.setOnClickListener(this);
tvLine.setOnClickListener(this);
tvCancel.setOnClickListener(this);
// tvFaceBook.setOnClickListener(this);
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display d = windowManager.getDefaultDisplay();
DisplayMetrics realDisplayMetrics = new DisplayMetrics();
d.getRealMetrics(realDisplayMetrics);
WindowManager.LayoutParams params = getWindow().getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.MATCH_PARENT;
getWindow().setAttributes(params);
if (type == TYPE_SHARE_H5) {
tvErban.setVisibility(View.GONE);
}
}
public void setType(int type) {
this.type = type;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_erban:
if (onShareDialogItemClick != null) {
if (type != TYPE_SHARE_H5) {
// HashMap<String, Object> map = new HashMap<>(2);
// map.put(FirebaseAnalytics.Param.CONTENT_TYPE, getString(R.string.text_share_erban_friends));
// ReportManager.get().reportEvent(FirebaseAnalytics.Event.SHARE, map);
onShareDialogItemClick.onInAppSharingItemClick();
} else {
SingleToastUtil.showToastShort(getString(R.string.ui_widget_sharedialog_02));
}
}
dismiss();
break;
// case R.id.tv_line:
// if (onShareDialogItemClick != null) {
// HashMap<String, Object> map = new HashMap<>(2);
// map.put(FirebaseAnalytics.Param.CONTENT_TYPE, getString(R.string.share_line));
// ReportManager.get().reportEvent(FirebaseAnalytics.Event.SHARE, map);
// onShareDialogItemClick.onSharePlatformClick(ShareSDK.getPlatform(Line.NAME));
// }
// dismiss();
// break;
// case R.id.tv_facebook:
// if (onShareDialogItemClick != null) {
// HashMap<String, Object> map = new HashMap<>(2);
// map.put(FirebaseAnalytics.Param.CONTENT_TYPE, getString(R.string.share_facebook));
// ReportManager.get().reportEvent(FirebaseAnalytics.Event.SHARE, map);
// onShareDialogItemClick.onSharePlatformClick(ShareSDK.getPlatform(Facebook.NAME));
// }
// dismiss();
// break;
case R.id.tv_share_link:
if (onShareDialogItemClick != null) {
// HashMap<String, Object> map = new HashMap<>(2);
// map.put(FirebaseAnalytics.Param.CONTENT_TYPE, getString(R.string.share_link));
// ReportManager.get().reportEvent(FirebaseAnalytics.Event.SHARE, map);
// onShareDialogItemClick.onSharePlatformClick(ShareSDK.getPlatform(GooglePlus.NAME));
}
dismiss();
break;
case R.id.tv_cancel:
dismiss();
break;
default:
break;
}
}
public interface OnShareDialogItemClick {
/**
* 应用内分享
*/
void onInAppSharingItemClick();
/**
* 应用外分享包括Line FaceBook 等平台
*
* @param platform
*/
void onSharePlatformClick(Platform platform);
}
}

View File

@@ -1,301 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.chwl.app.base.TitleBar
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</com.chwl.app.base.TitleBar>
<ScrollView
android:id="@+id/sv_container"
android:layout_below="@id/title_bar"
android:scrollbars="none"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_8D47F8">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
tools:visibility="visible"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/scl_top"
app:layout_constraintTop_toTopOf="parent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@drawable/bg_sign_in_top"
app:layout_constraintDimensionRatio="750:849"
>
<ImageView
android:id="@+id/iv_horn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_11"
android:visibility="gone"
android:src="@drawable/icon_sign_in_horn"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.chwl.app.ui.widget.marqueeview.BetterMarqueeView
android:id="@+id/bmv_sign_in"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_28"
android:layout_marginStart="@dimen/dp_7"
android:gravity="start"
android:textSize="@dimen/dp_12"
app:layout_constraintBottom_toBottomOf="@id/iv_horn"
app:layout_constraintStart_toEndOf="@id/iv_horn"
app:layout_constraintTop_toTopOf="@id/iv_horn"
app:mvAnimDuration="1000"
app:mvDirection="bottom_to_top"
app:mvGravity="left"
app:mvInterval="3000"
tools:ignore="SpUsage" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_8"
android:text="@string/sign_in_notice"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
app:layout_constraintBottom_toBottomOf="@+id/switch_sign_in_notice"
app:layout_constraintEnd_toStartOf="@+id/switch_sign_in_notice"
app:layout_constraintTop_toTopOf="@+id/switch_sign_in_notice" />
<com.chwl.app.common.widget.TutuSwitchView
android:id="@+id/switch_sign_in_notice"
android:layout_width="@dimen/dp_32"
android:layout_height="@dimen/dp_18"
android:layout_marginTop="@dimen/dp_9"
android:layout_marginEnd="@dimen/dp_15"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_sign_in_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="49dp"
android:src="@drawable/icon_sign_in_logo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.coorchice.library.SuperTextView
android:id="@+id/stv_explain"
android:layout_width="215dp"
android:layout_height="@dimen/dp_28"
android:gravity="center"
android:text="@string/sign_in_explain_text"
android:textColor="@color/white"
app:corner="@dimen/dp_30"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_sign_in_logo"
app:solid="@color/white_transparent_14" />
<TextView
android:id="@+id/tv_activity_rule"
android:layout_width="68dp"
android:layout_height="25dp"
android:text="@string/layout_activity_sign_in_01"
android:layout_marginTop="80dp"
android:background="@drawable/bg_sign_option"
android:gravity="center"
android:textColor="@color/white"
android:textSize="12dp"
app:layout_constraintTop_toBottomOf="@id/stv_explain"
app:layout_constraintEnd_toEndOf="parent"/>
<TextView
android:id="@+id/tv_sign_in_normal_share"
android:layout_width="68dp"
android:layout_height="25dp"
android:text="@string/layout_activity_sign_in_02"
android:layout_marginTop="11dp"
android:background="@drawable/bg_sign_option"
android:gravity="center"
android:textColor="@color/white"
android:textSize="12dp"
app:layout_constraintTop_toBottomOf="@id/tv_activity_rule"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:id="@+id/view_content_line"
app:layout_constraintTop_toTopOf="@id/scl_top"
app:layout_constraintStart_toStartOf="@id/scl_top"
app:layout_constraintBottom_toBottomOf="@id/scl_top"
app:layout_constraintVertical_bias="0.75"
android:layout_width="1dp"
android:layout_height="1dp" />
<View
android:id="@+id/view_bg_content"
app:layout_constraintTop_toBottomOf="@id/view_content_line"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:orientation="vertical"
android:background="@drawable/bg_sign_in_content"
android:layout_width="358dp"
android:layout_height="244dp">
</View>
<View
android:id="@+id/line_left_short"
android:layout_marginEnd="@dimen/dp_10"
android:background="@color/color_999999"
app:layout_constraintEnd_toStartOf="@+id/tv_pool_tips"
app:layout_constraintTop_toTopOf="@+id/tv_pool_tips"
app:layout_constraintBottom_toBottomOf="@+id/tv_pool_tips"
android:layout_width="20dp"
android:layout_height="1dp" />
<TextView
android:id="@+id/tv_pool_tips"
android:text="@string/the_gold_pool_tips"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp_13"
android:layout_marginTop="@dimen/dp_35"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/view_bg_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<View
android:id="@+id/line_right_short"
android:layout_marginStart="@dimen/dp_10"
android:background="@color/color_999999"
app:layout_constraintStart_toEndOf="@id/tv_pool_tips"
app:layout_constraintTop_toTopOf="@id/tv_pool_tips"
app:layout_constraintBottom_toBottomOf="@id/tv_pool_tips"
android:layout_width="20dp"
android:layout_height="1dp" />
<com.yy.mobile.rollingtextview.RollingTextView
android:id="@+id/rtv_gold_pool"
android:layout_marginTop="@dimen/dp_6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_pool_tips"
android:textColor="@color/color_FF3B6E"
android:textSize="37sp"
android:gravity="center"
android:textStyle="bold"
tools:text="1,000"
android:layout_width="wrap_content"
android:layout_height="40dp" />
<TextView
android:id="@+id/tv_award_info"
android:singleLine="true"
tools:text="@string/layout_activity_sign_in_03"
android:textSize="@dimen/sp_12"
android:gravity="center"
android:textColor="@color/color_9236F6"
app:layout_constraintTop_toBottomOf="@id/rtv_gold_pool"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_sign_in_op"
android:text="@string/status_point_me_to_sign_in"
android:gravity="center"
android:textColor="@color/white"
android:textSize="@dimen/sp_18"
app:layout_constraintTop_toBottomOf="@id/tv_award_info"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:background="@drawable/icon_sign_in_un_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_label_sign_day"
android:textColor="#979797"
tools:text="@string/layout_activity_sign_in_04"
app:layout_constraintTop_toBottomOf="@id/tv_sign_in_op"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_award_title"
android:layout_marginTop="@dimen/dp_22"
android:text="@string/multi_sign_in_title"
android:textColor="@color/white"
android:textSize="@dimen/sp_18"
android:drawableStart="@drawable/icon_award_title_left"
android:drawableEnd="@drawable/icon_award_title_right"
android:drawablePadding="@dimen/dp_13"
app:layout_constraintTop_toBottomOf="@id/view_bg_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</androidx.constraintlayout.widget.ConstraintLayout>
<!--<include-->
<!--android:id="@+id/layout_total_reward"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_marginTop="@dimen/dp_20"-->
<!--layout="@layout/include_total_reward"/>-->
<include
android:id="@+id/layout_total_reward"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20"
layout="@layout/layout_total_reward"/>
<LinearLayout
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:layout_marginTop="41dp"
android:background="@drawable/bg_sign_in_reward_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:textSize="@dimen/sp_17"
android:drawableStart="@drawable/icon_reward_notice_left"
android:drawableEnd="@drawable/icon_reward_notice_right"
android:layout_gravity="center_horizontal"
android:drawablePadding="@dimen/dp_9"
android:textColor="@color/color_8D47F8"
android:text="@string/reward_notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_reward_list"
android:overScrollMode="never"
android:scrollbars="none"
android:layout_marginTop="@dimen/dp_24"
android:layout_marginStart="@dimen/dp_31"
android:layout_marginEnd="@dimen/dp_31"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
</LinearLayout>
</LinearLayout>
</ScrollView>
<include
android:id="@+id/include_sign_in_anmi_layout"
layout="@layout/include_sign_in_anmi_layout" />
</RelativeLayout>

View File

@@ -1,121 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_dialog_share"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_15"
android:text="@string/share_to_friends"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:layout_marginBottom="@dimen/dp_10"
android:gravity="center"
android:text="@string/title_share_dialog"
android:textColor="@color/color_999999"
android:textSize="13sp"
android:visibility="gone"
tools:ignore="SpUsage" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="4">
<TextView
android:id="@+id/tv_erban"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_17"
android:layout_marginBottom="19dp"
android:layout_weight="1"
android:drawablePadding="9dp"
android:gravity="center"
android:text="@string/text_share_erban_friends"
android:textColor="@color/color_999999"
android:textSize="@dimen/font_medium"
android:visibility="gone"
app:drawableTopCompat="@drawable/icon_erban_friends" />
<TextView
android:id="@+id/tv_line"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_17"
android:layout_marginBottom="19dp"
android:layout_weight="1"
android:drawablePadding="9dp"
android:gravity="center"
android:text="@string/share_line"
android:textColor="@color/color_999999"
android:textSize="@dimen/font_medium"
app:drawableTopCompat="@drawable/icon_line" />
<!-- <TextView-->
<!-- android:id="@+id/tv_facebook"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="@dimen/dp_17"-->
<!-- android:layout_marginBottom="19dp"-->
<!-- android:layout_weight="1"-->
<!-- android:drawablePadding="9dp"-->
<!-- android:gravity="center"-->
<!-- android:text="@string/share_facebook"-->
<!-- android:textColor="@color/color_999999"-->
<!-- android:textSize="@dimen/font_medium"-->
<!-- app:drawableTopCompat="@drawable/icon_facebook" />-->
<TextView
android:id="@+id/tv_share_link"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_17"
android:layout_marginBottom="19dp"
android:layout_weight="1"
android:drawablePadding="9dp"
android:gravity="center"
android:text="@string/share_link"
android:textColor="@color/color_999999"
android:textSize="@dimen/font_medium"
app:drawableTopCompat="@drawable/ic_share_link" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tv_cancel"
android:layout_width="match_parent"
android:layout_height="@dimen/common_item_view_height_big"
android:layout_gravity="center"
android:background="@color/color_F5F5F5"
android:gravity="center"
android:text="@string/cancel"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp_14"
tools:ignore="SpUsage" />
</LinearLayout>

View File

@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ll_sign_in_container"
android:orientation="vertical"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:background="@drawable/shape_round_white_5dp">
<TextView
android:id="@+id/tv_title"
tools:text="@string/layout_layout_msg_view_holder_sign_in_notice_01"
android:textColor="@color/text_title_color"
android:textSize="@dimen/sp_16"
android:paddingStart="@dimen/dp_9"
android:paddingEnd="@dimen/dp_9"
android:paddingTop="@dimen/dp_11"
android:paddingBottom="@dimen/dp_11"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_9"
android:paddingEnd="@dimen/dp_9"
android:gravity="center"
android:textColor="@color/text_secondary_4f516a"
android:textSize="@dimen/sp_14"
tools:text="@string/layout_layout_msg_view_holder_sign_in_notice_02" />
<View
android:layout_marginTop="@dimen/dp_10"
android:background="@color/line_color"
android:layout_width="match_parent"
android:layout_height="1px" />
<TextView
android:gravity="center"
android:textColor="@color/text_normal_c6c6e9"
android:textSize="@dimen/sp_15"
android:text="@string/go_to_sign_in"
android:layout_width="match_parent"
android:layout_height="38dp" />
</LinearLayout>

View File

@@ -1,48 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:background="@color/color_8D47F8"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.chwl.app.radish.signin.view.RewardProgressView
android:id="@+id/reward_progress_view"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginStart="46dp"
android:layout_marginEnd="46dp"
android:layout_width="match_parent"
android:layout_height="9dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<include
android:id="@+id/il_first"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
layout="@layout/item_reward_first"/>
<include
android:id="@+id/il_second"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
layout="@layout/item_reward_second"/>
<include
android:id="@+id/il_third"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
layout="@layout/item_reward_third"/>
<include
android:id="@+id/il_fourth"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
layout="@layout/item_reward_fourth"/>
</LinearLayout>
</FrameLayout>

View File

@@ -1,4 +0,0 @@
package cn.sharesdk.framework;
public class Platform {
}

View File

@@ -1,7 +1,6 @@
package com.chwl.core;
import com.chwl.library.utils.ResUtil;
import com.chwl.library.utils.codec.DESUtils;
/**
* Created by MadisonRong on 09/08/2018.
@@ -34,28 +33,6 @@ public class XConstants {
*/
public static final String XCHAT_DATABASE_NAME = "accompany.db";
/**
* 雲信 key (DEBUG)
*/
// public static final String NIM_KEY_DEBUG = "1c3b8c6bf8467d8e4c33a004dbec5c94";//已更換
/**
* 雲信 key (RELEASE)
*/
// public static final String NIM_KEY_RELEASE = "d4d74e9ba6ac3364ccc7526ea4791215";//已更換
/**
* 聲網 key
*/
// public static final String AGORA_KEY = "f8713b6ec98c4c01adaf34cb4fa091b1"; //已更換
/**
* 百度統計 key
*/
// public static final String BAIDU_APP_KEY = "b8a4cb4bd1";//已更改
/**
* 公屏第一條提示消息
*/
@@ -66,66 +43,6 @@ public class XConstants {
*/
public static final int DRAGON_BALL_ID = 40;
/**
* 分享 H5 的 URL
*/
public static final String SHARE_H5_URL = "/activity/double12/index.html";
/**
* 分享房間文本
*/
public static final String SHARE_ROOM_TEXT = ResUtil.getString(R.string.yizhuan_xchat_android_constants_xchatconstants_02);
/**
* 分享房間標題
*/
public static final String SHARE_ROOM_TITLE = ResUtil.getString(R.string.yizhuan_xchat_android_constants_xchatconstants_03);
/**
* 分享房間 URL
*/
public static final String SHARE_ROOM_URL = "/hiyoo/modules/share_room/index.html?shareUid=";
/**
* 分享家族文本
*/
public static final String SHARE_FAMILY_TEXT = ResUtil.getString(R.string.yizhuan_xchat_android_constants_xchatconstants_04);
/**
* 分享家族標題
*/
public static final String SHARE_FAMILY_TITLE = ResUtil.getString(R.string.yizhuan_xchat_android_constants_xchatconstants_05);
/**
* 分享家族 URL
*/
public static final String SHARE_FAMILY_URL = "/hiyoo/modules/share/share_family.html";
/**
* 分享群組文本
*/
public static final String SHARE_TEAM_TEXT = ResUtil.getString(R.string.yizhuan_xchat_android_constants_xchatconstants_06);
/**
* 分享群組標題
*/
public static final String SHARE_TEAM_TITLE = ResUtil.getString(R.string.yizhuan_xchat_android_constants_xchatconstants_07);
/**
* 分享群組 URL
*/
public static final String SHARE_TEAM_URL = "/hiyoo/modules/share/share_family.html";
/**
* 分享群組 URL
*/
public static final String SHARE_WORLD_DYNAMIC_URL = "/hiyoo/modules/world/share-page/index.html";
/**
* 遊戲排行榜 URL
*/
public static final String GAME_ROOK = "/hiyoo/modules/erbanRank/game_rank.html?type=week";
/**
* 系統消息那個用戶的UID
*/
@@ -142,11 +59,6 @@ public class XConstants {
*/
public static final String MATCH_UID = BuildConfig.DEBUG ? "1296314" : "904772";
/**
* 登錄頁面「如何登錄」對應的 H5 頁面
*/
public static final String LOGIN_ERBAN_ACCOUNT_URL = "/hiyoo/modules/rule/login_tips.html";
public static final String ROOM_INTRODUCTION = ResUtil.getString(R.string.yizhuan_xchat_android_constants_xchatconstants_08);
public static final String DATING_TIPS_OPEN = ResUtil.getString(R.string.yizhuan_xchat_android_constants_xchatconstants_09);
@@ -164,8 +76,6 @@ public class XConstants {
public static final String UNKOWN_ERROR = ResUtil.getString(R.string.yizhuan_xchat_android_constants_xchatconstants_015);
public static final String EMPTY_USER_INFO_TIPS = ResUtil.getString(R.string.yizhuan_xchat_android_constants_xchatconstants_016);
/**
* 當布局記錄為空時的提示,比如禮物,充值
*/
@@ -175,15 +85,8 @@ public class XConstants {
public static final String REPORT_TYPE_CHAT = "chat"; // 私聊
public static final String REPORT_TYPE_PERSONAL = "personal"; // 個人中心
public static final String REPORT_TYPE_ROOM = "room"; // 房間
public static final String REPORT_TYPE_WORLD = "world"; // 話題
public static final String REPORT_TYPE_VOICE = "voice"; // 聲音瓶子
public static final String REPORT_TYPE_MISSION = ""; // 師徒
public static final String REPORT_TYPE_USERCARD = "USERCARD"; // 資料卡片
public static final String REPORT_TYPE_WORLDDYNAMIC = "WORLDDYNAMIC"; // 世界動態
public static final String REPORT_TYPE_DYNAMICCOMMENT = "DYNAMICCOMMENT"; // 世界動態
public static final String REPORT_TYPE_PERSONAL_DYNAMIC = "PERSONAL_DYNAMIC"; // 個人頁動態
public static final String REPORT_TYPE_DYNAMIC_SQUARE = "DYNAMIC_SQUARE";//廣場動態
/**
* Referer (DEBUG)
@@ -203,14 +106,4 @@ public class XConstants {
public static final int KICK_OUT_ROOM_LIMIT_ENTER_TIME = 5 * 60 * 1000;
public static final int CODE_IGNORE_TOAST = 5263;
public static int SELECT_ANIM_DURATION = 2500;
/**
* Adjust配置
*/
// public static final String ADJUST_APP_TOKEN = "ujzc7mbv3g8w";
/**
谷歌下载地址
*/
public static String appDownloadUrl = "https://play.google.com/store/apps/details?id=app.hiyoo.fun";
}

View File

@@ -4,12 +4,9 @@ import android.app.Activity;
import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.NonNull;
import com.example.module_base.support.google.IGoogleService;
import com.example.module_base.support.login.ILoginService;
import com.example.module_base.support.login.LoginSDKException;
import com.example.module_base.support.login.PlatformInfo;
import com.netease.nim.uikit.api.NimUIKit;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.netease.nim.uikit.common.util.string.StringUtil;
@@ -58,12 +55,10 @@ import com.chwl.library.utils.SingleToastUtil;
import com.chwl.library.utils.VersionUtil;
import com.chwl.library.utils.codec.DESUtils;
import com.chwl.library.utils.config.BasicConfig;
import com.chwl.library.utils.constant.PackageNameConstants;
import com.chwl.library.utils.json.JsonUtils;
import org.greenrobot.eventbus.EventBus;
import cn.sharesdk.framework.Platform;
import io.reactivex.Single;
import io.reactivex.SingleEmitter;
import io.reactivex.SingleOnSubscribe;
@@ -129,9 +124,6 @@ public class AuthModel extends BaseModel implements IAuthModel {
private AccountInfo currentAccountInfo;
private TicketInfo ticketInfo;
private ThirdUserInfo thirdUserInfo;
private Platform facebook;
private Platform line;
private Platform google;
private ILoginService googleLoginService;
/****************************************************** IM *************************************************************/
@@ -321,322 +313,6 @@ public class AuthModel extends BaseModel implements IAuthModel {
}
});
}
//
// /**
// * facebook登录
// *
// * @return
// */
// @Override
// public Single<String> facebookLogin(JSONObject object) {
// return Single.create((SingleOnSubscribe<JSONObject>) e -> {
// String name = object.optString("name");
// String gender = object.optString("gender"); //性别
// //获取用户头像
// JSONObject object_pic = object.optJSONObject("picture");
// JSONObject object_data = object_pic.optJSONObject("data");
// String photo = object_data.optString("url");
//
// thirdUserInfo = new ThirdUserInfo();
// thirdUserInfo.setType(ThirdUserInfo.TYPE_FACEBOOK);
// thirdUserInfo.setPlatform("Facebook");
// thirdUserInfo.setUserName(name);
// thirdUserInfo.setUserGender(gender);
// thirdUserInfo.setUserIcon(photo);
// e.onSuccess(object);
// })
// .flatMap(platform -> {
// String openid = platform.optString("id");
// String unionid = platform.optString("id");
// String avatar = thirdUserInfo.getUserIcon();
// if (avatar != null && avatar.equals("null")) {
// avatar = null;
// }
// thirdUserInfo.setUserIcon(avatar);
// String gender = thirdUserInfo.getUserGender();
// if (gender != null && !gender.trim().isEmpty()) {
// gender = gender.replace("m", "1").replace("f", "2");
// }
// thirdUserInfo.setUserGender(gender);
// EventBus.getDefault().post(new LoginReportEvent(1));
// return thirdLogin(openid, unionid, TYPE_FACEBOOK_LOGIN, "", "");
// })
// .flatMap(s -> imLogin(currentAccountInfo))
// .subscribeOn(AndroidSchedulers.mainThread())
// .observeOn(AndroidSchedulers.mainThread())
// .doOnSuccess(s -> EventBus.getDefault().post(new LoginEvent()));
// }
/**
* line
*
* @return
*/
// @Override
// public Single<String> lineLogin() {
// return Single.create(new SingleOnSubscribe<Platform>() {
// @Override
// public void subscribe(SingleEmitter<Platform> e) throws Exception {
// line = ShareSDK.getPlatform(Line.NAME);
// //是否安装客户端
// if (!DeviceUtils.isAppInstalled(getContext(), PackageNameConstants.LINE_NAME)) {
// e.onError(new Throwable(ResUtil.getString(R.string.xchat_android_core_auth_authmodel_06)));
// return;
// }
// if (line.isAuthValid()) {
// line.removeAccount(true);
// }
// line.setPlatformActionListener(new PlatformActionListener() {
// @Override
// public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
// if (i == Platform.ACTION_USER_INFOR) {
// String openid = platform.getDb().getUserId();
// String unionid = platform.getDb().get("unionid");
// Logger.i("openid:" + openid + " unionid:" + unionid + platform.getDb().getUserIcon());
//
// thirdUserInfo = new ThirdUserInfo();
// thirdUserInfo.setType(ThirdUserInfo.TYPE_LINE);
// thirdUserInfo.setPlatform("LINE");
// thirdUserInfo.setUserName(platform.getDb().getUserName());
// thirdUserInfo.setUserGender(platform.getDb().getUserGender());
// thirdUserInfo.setUserIcon(platform.getDb().getUserIcon());
// e.onSuccess(platform);
// }
// }
//
// @Override
// public void onError(Platform platform, int i, Throwable throwable) {
// e.onError(new Throwable(ResUtil.getString(R.string.xchat_android_core_auth_authmodel_07) + i));
// throwable.printStackTrace();
// }
//
// @Override
// public void onCancel(Platform platform, int i) {
// e.onError(new Throwable(ResUtil.getString(R.string.xchat_android_core_auth_authmodel_08)));
// }
// });
// line.SSOSetting(false);
// line.showUser(null);
//
// }
// })
// .flatMap(platform -> {
// String openid = platform.getDb().getUserId();
// String unionid = platform.getDb().getUserId();
// String avatar = thirdUserInfo.getUserIcon();
// if (avatar != null && avatar.equals("null")) {
// avatar = null;
// }
// thirdUserInfo.setUserIcon(avatar);
// String gender = thirdUserInfo.getUserGender();
// if (gender != null && !gender.trim().isEmpty()) {
// gender = gender.replace("m", "1").replace("f", "2");
// }
// thirdUserInfo.setUserGender(gender);
// EventBus.getDefault().post(new LoginReportEvent(2));
// return thirdLogin(openid, unionid, TYPE_LINE_LOGIN, "", "");
// })
// .flatMap(s -> imLogin(currentAccountInfo))
// .subscribeOn(AndroidSchedulers.mainThread())
// .observeOn(AndroidSchedulers.mainThread())
// .compose(RxHelper.handleException())
// .doOnSuccess(s -> EventBus.getDefault().post(new LoginEvent()));
// }
@Override
public Single<String> googleLogin(Activity activity) {
return Single.create((SingleOnSubscribe<PlatformInfo>) e -> {
ILoginService loginService = getGoogleLoginService();
if (loginService == null) {
e.onError(new Throwable(ResUtil.getString(R.string.bean_response_serviceresult_015)));
return;
}
//是否安装客户端
if (!DeviceUtils.isAppInstalled(getContext(), PackageNameConstants.GOOGLE_NAME)) {
e.onError(new Throwable(ResUtil.getString(R.string.xchat_android_core_auth_authmodel_09)));
return;
}
loginService.login(activity, new ILoginService.Listener() {
@Override
public void onSuccess(@NonNull PlatformInfo platformInfo) {
thirdUserInfo = new ThirdUserInfo();
thirdUserInfo.setType(ThirdUserInfo.TYPE_GOOGLE);
thirdUserInfo.setPlatform("Google");
thirdUserInfo.setUserName(platformInfo.getName());
thirdUserInfo.setUserIcon(platformInfo.getAvatar());
e.onSuccess(platformInfo);
}
@Override
public void onFailure(@NonNull LoginSDKException exception) {
exception.printStackTrace();
LogUtils.d("googleLogin" + exception);
e.onError(new Throwable(ResUtil.getString(R.string.xchat_android_core_auth_authmodel_010) + exception.getCode()));
}
});
})
.flatMap(platform -> {
String openid = platform.getId();
String unionid = platform.getId();
String avatar = thirdUserInfo.getUserIcon();
if (avatar != null && avatar.equals("null")) {
avatar = null;
}
thirdUserInfo.setUserIcon(avatar);
String gender = thirdUserInfo.getUserGender();
if (gender != null && !gender.trim().isEmpty()) {
gender = gender.replace("m", "1").replace("f", "2");
}
thirdUserInfo.setUserGender(gender);
EventBus.getDefault().post(new LoginReportEvent(3));
return thirdLogin(openid, unionid, TYPE_GOOGLE_LOGIN, "", "");
})
.flatMap(s -> imLogin(currentAccountInfo))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxHelper.handleException())
.doOnSuccess(s -> EventBus.getDefault().post(new LoginEvent()));
}
// @Override
// public Single<String> googleLogin() {
// return Single.create(new SingleOnSubscribe<Platform>() {
// @Override
// public void subscribe(SingleEmitter<Platform> e) throws Exception {
// google = ShareSDK.getPlatform(GooglePlus.NAME);
// //是否安装客户端
// if (!DeviceUtils.isAppInstalled(getContext(), PackageNameConstants.GOOGLE_NAME)) {
// e.onError(new Throwable(ResUtil.getString(R.string.xchat_android_core_auth_authmodel_09)));
// return;
// }
// //判断指定平台是否已经完成授权
// if (google.isAuthValid()) {
// google.removeAccount(true);
// }
// google.setPlatformActionListener(new PlatformActionListener() {
// @Override
// public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
// if (i == Platform.ACTION_USER_INFOR) {
// String openid = platform.getDb().getUserId();
// String unionid = platform.getDb().get("unionid");
// Logger.i("openid:" + openid + " unionid:" + unionid + platform.getDb().getUserIcon());
//
// thirdUserInfo = new ThirdUserInfo();
// thirdUserInfo.setType(ThirdUserInfo.TYPE_GOOGLE);
// thirdUserInfo.setPlatform("Google");
// thirdUserInfo.setUserName(platform.getDb().getUserName());
// thirdUserInfo.setUserGender(platform.getDb().getUserGender());
// thirdUserInfo.setUserIcon(platform.getDb().getUserIcon());
// e.onSuccess(platform);
// }
// }
//
// @Override
// public void onError(Platform platform, int i, Throwable throwable) {
// throwable.printStackTrace();
// LogUtils.d("googleLogin" + i);
// e.onError(new Throwable(ResUtil.getString(R.string.xchat_android_core_auth_authmodel_010) + i));
// }
//
// @Override
// public void onCancel(Platform platform, int i) {
// e.onError(new Throwable(ResUtil.getString(R.string.xchat_android_core_auth_authmodel_011)));
// }
// });
// google.SSOSetting(false);
// google.showUser(null);
//
// }
// })
// .flatMap(platform -> {
// String openid = platform.getDb().getUserId();
// String unionid = platform.getDb().getUserId();
// String avatar = thirdUserInfo.getUserIcon();
// if (avatar != null && avatar.equals("null")) {
// avatar = null;
// }
// thirdUserInfo.setUserIcon(avatar);
// String gender = thirdUserInfo.getUserGender();
// if (gender != null && !gender.trim().isEmpty()) {
// gender = gender.replace("m", "1").replace("f", "2");
// }
// thirdUserInfo.setUserGender(gender);
// EventBus.getDefault().post(new LoginReportEvent(3));
// return thirdLogin(openid, unionid, TYPE_GOOGLE_LOGIN, "", "");
// })
// .flatMap(s -> imLogin(currentAccountInfo))
// .subscribeOn(AndroidSchedulers.mainThread())
// .observeOn(AndroidSchedulers.mainThread())
// .compose(RxHelper.handleException())
// .doOnSuccess(s -> EventBus.getDefault().post(new LoginEvent()));
// }
/**
* 第三方信息登录
*
* @param openid
* @param unionid
* @param type
* @return
*/
private Single<String> thirdLogin(String openid, String unionid, int type, String yiDunToken, String shuMeiDeviceId) {
LinkedInfo linkedInfo = LinkedModel.get().getLinkedInfo();
String linkedmeChannel = null;
if (linkedInfo != null && !StringUtil.isEmpty(linkedInfo.getChannel())) {
linkedmeChannel = linkedInfo.getChannel();
}
String finalLinkedmeChannel = linkedmeChannel;
return Single.create(new SingleOnSubscribe<String>() {
@Override
public void subscribe(SingleEmitter<String> e) throws Exception {
try {
LoginResult loginResult = api.thirdLogin(
openid,
unionid,
String.valueOf(type),
finalLinkedmeChannel,
yiDunToken,
shuMeiDeviceId
).blockingGet();
if (!loginResult.isSuccess()) {
if (loginResult.getCode() == CODE_BAN_ACCOUNT || loginResult.getCode() == CODE_BAN_DEVICE) {
e.onError(new BanAccountException(loginResult.getReason(), loginResult.getDate()));
} else if (loginResult.getCode() == CODE_ACCOUNT_CANCEL) {
e.onError(new AccountCancelException(loginResult.getMessage(), loginResult.getErbanNo(), loginResult.getCancelDate()));
} else {
e.onError(new Throwable(loginResult.getMessage()));
}
return;
}
currentAccountInfo = loginResult.getData();
DemoCache.saveCurrentAccountInfo(currentAccountInfo);
//成功获取到uid后就通知首页刷新审核中状态的数据
EventBus.getDefault().post(new GetCurrentUidEvent(true));
} catch (Exception e1) {
e.onError(new Throwable(OldHttpErrorHandleUtil.handle(e1)));
return;
}
//获取tick
try {
TicketResult ticketResult = requestTicket().blockingGet();
if (!ticketResult.isSuccess()) {
e.onError(new Throwable(ticketResult.getMessage()));
return;
}
ticketInfo = ticketResult.getData();
DemoCache.saveTicketInfo(ticketInfo);
} catch (Exception e1) {
e.onError(new Throwable(OldHttpErrorHandleUtil.handle(e1)));
return;
}
e.onSuccess(ResUtil.getString(R.string.xchat_android_core_auth_authmodel_012));
}
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 获取tick

View File

@@ -64,14 +64,6 @@ public interface IAuthModel extends IModel {
*/
Single<String> login(String phoneAreaCode, String account, String password, String code, String yiDunToken, String shuMeiDeviceId);
// Single<String> facebookLogin(JSONObject object);
// Single<String> lineLogin();
// Single<String> googleLogin();
Single<String> googleLogin(Activity activity);
/**
* 重置用户信息
*/

View File

@@ -1,18 +0,0 @@
package com.chwl.core.radish.signin.bean;
import cn.sharesdk.framework.Platform;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* create by lvzebiao @2019/4/29
*/
@AllArgsConstructor
@Data
public class RsPlatformType {
private boolean isConsumeShare;
private Platform platform;
}

View File

@@ -1,41 +0,0 @@
package com.chwl.core.share;
import com.chwl.library.coremanager.ICoreClient;
/**
* Created by chenran on 2017/8/14.
*/
public interface IShareCoreClient extends ICoreClient{
public static final String METHOD_ON_SHARE_ROOM = "onShareRoom";
public static final String METHOD_ON_SHARE_ROOM_FAIL = "onShareRoomFail";
public static final String METHOD_ON_SHARE_ROOM_CANCEL = "onShareRoomCancel";
public static final String METHOD_ON_SHARE_H5 = "onShareH5";
public static final String METHOD_ON_HSARE_H5_FAIL = "onShareH5Fail";
public static final String METHOD_ON_HSARE_H5_CANCEL = "onShareH5Cancel";
public static final String METHOD_ON_SHARE_FAMILY = "onShareFamily";
public static final String METHOD_ON_SHARE_FAMILY_FAIL = "onShareFamilyFail";
public static final String METHOD_ON_SHARE_FAMILY_CANCEL = "onShareFamilyCancel";
public static final String METHOD_ON_SHARE_FAMILY_TEAM = "onShareFamilyTeam";
public static final String METHOD_ON_SHARE_FAMILY_TEAM_FAIL = "onShareFamilyTeamFail";
public static final String METHOD_ON_SHARE_FAMILY_TEAM_CANCEL = "onShareFamilyTeamCancel";
void onShareRoom();
void onShareRoomFail();
void onShareRoomCancel();
void onShareH5(String url);
void onShareH5Fail();
void onShareH5Cancel();
void onShareFamily();
void onShareFamilyFail();
void onShareFamilyCancel();
void onShareFamilyTeam();
void onShareFamilyTeamFail();
void onShareFamilyTeamCancel();
}

View File

@@ -1,42 +0,0 @@
package com.chwl.core.share;
import com.chwl.core.share.bean.ShareCommonInfo;
import com.chwl.core.web.bean.WebJsBeanInfo;
import com.chwl.library.coremanager.IBaseCore;
import cn.sharesdk.framework.Platform;
import io.reactivex.Single;
/**
* Created by chenran on 2017/8/14.
*/
public interface IShareModel extends IBaseCore {
Single<String> shareH5(WebJsBeanInfo.DataBean webViewInfo, Platform platform);
Single<String> shareH5(WebJsBeanInfo.DataBean webViewInfo, Platform platform, boolean httpsUrl);
Single<String> shareRoom(Platform platform,
long roomUid,
long roomId,
String title, String room_avatar);
Single<String> shareFamily(Platform platform,
String familyId,
String familyIcon,
String title);
Single<String> shareFamilyTeam(Platform platform,
String familyId,
String teamIcon,
String title);
Single<String> shareText(Platform platform, String text);
/**
* 写一个通用的分享方法
*/
Single<String> shareCommon(Platform platform, ShareCommonInfo info, boolean toast);
}

View File

@@ -1,534 +0,0 @@
package com.chwl.core.share;
import android.annotation.SuppressLint;
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
import com.chwl.core.R;
import com.chwl.core.base.BaseModel;
import com.chwl.core.bean.response.result.ShareRedPacketResult;
import com.chwl.core.im.custom.bean.CustomAttachment;
import com.chwl.core.im.custom.bean.RoomTipAttachment;
import com.chwl.core.manager.AvRoomDataManager;
import com.chwl.core.manager.IMNetEaseManager;
import com.chwl.core.room.bean.RoomInfo;
import com.chwl.core.share.bean.ShareCommonInfo;
import com.chwl.core.user.UserModel;
import com.chwl.core.user.bean.UserInfo;
import com.chwl.core.web.bean.WebJsBeanInfo;
import com.chwl.library.net.rxnet.RxNet;
import com.chwl.library.utils.ResUtil;
import com.chwl.library.utils.SingleToastUtil;
import cn.sharesdk.framework.Platform;
import io.reactivex.Single;
import io.reactivex.SingleEmitter;
import io.reactivex.SingleOnSubscribe;
import io.reactivex.functions.Consumer;
import retrofit2.http.POST;
import retrofit2.http.Query;
/**
* Created by chenran on 2017/8/14.
*/
public class ShareModel extends BaseModel implements IShareModel {
private final Api api = RxNet.create(Api.class);
private ShareModel() {
}
public static ShareModel get() {
return Helper.INSTANCE;
}
@Override
public Single<String> shareH5(final WebJsBeanInfo.DataBean webViewInfo, Platform platform) {
return shareH5(webViewInfo, platform, false);
}
@Override
public Single<String> shareH5(final WebJsBeanInfo.DataBean webViewInfo, Platform platform, boolean httpsUrl) {
return Single.create(new SingleOnSubscribe<String>() {
@Override
public void subscribe(SingleEmitter<String> emitter) throws Exception {
emitter.onError(new Throwable());
// if (null != webViewInfo && platform != null) {
// Platform.ShareParams sp = new Platform.ShareParams();
// if (httpsUrl) {
// sp.setImageUrl(webViewInfo.getImgUrl().replace("http:", "https:"));
// } else {
// sp.setImageUrl(webViewInfo.getImgUrl());
// }
// String siteUrl = webViewInfo.getShowUrl();
// String params = "shareUid=" + String.valueOf(AuthModel.get().getCurrentUid());
// if (siteUrl.contains("?")) {
// if (siteUrl.endsWith("?")) {
// siteUrl += params;
// } else {
// siteUrl += "&" + params;
// }
// } else {
// siteUrl += "?" + params;
// }
//// //facebook
//// if (platform.getName().equals(Facebook.NAME)) {
//// sp.setTitle(webViewInfo.getTitle());
//// sp.setText(webViewInfo.getDesc());
//// sp.setUrl(siteUrl);
//// sp.setShareType(Platform.SHARE_WEBPAGE);
//// }
// //line
//// else
//// if (platform.getName().equals(Line.NAME)) {
//// sp.setText(webViewInfo.getDesc() + "[" + webViewInfo.getLink() + "]");
//// }
//
// platform.setPlatformActionListener(new PlatformActionListener() {
// @Override
// public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
// String shareUrl = webViewInfo.getLink();
// if (!shareUrl.contains("?")) {
// shareUrl += "?shareUid=" + String.valueOf(AuthModel.get().getCurrentUid());
// }
// String url = UriProvider.getLotteryActivityPage();
// if (url.contains(XChatConstants.SHARE_H5_URL) &&
// webViewInfo.getShowUrl() != null &&
// webViewInfo.getShowUrl().contains(XChatConstants.SHARE_H5_URL)) {
// reportShare(null, 888, platform, shareUrl);
// } else {
// reportShare(null, 1, platform, shareUrl);
// }
// emitter.onSuccess(MSG.success);
// }
//
// @Override
// public void onError(Platform platform, int i, Throwable throwable) {
// String errorMsg = MSG.failed;
// if (throwable.getMessage().contains("not installed")) {
// errorMsg = ResUtil.getString(R.string.not_install_app);
// }
// emitter.onError(new Throwable(errorMsg));
// }
//
// @Override
// public void onCancel(Platform platform, int i) {
// emitter.onError(new Throwable(MSG.cancel));
// }
// });
// platform.share(sp);
// }
}
});
}
/**
* 分享房间
*
* @param platform 平台
* @param roomUid 房间id
* @param title 标题
*/
@Override
public Single<String> shareRoom(Platform platform,
final long roomUid,
long roomId,
String title, String room_avatar) {
return Single.create(new SingleOnSubscribe<String>() {
@Override
public void subscribe(SingleEmitter<String> emitter) throws Exception {
emitter.onError(new Throwable());
//无UI API
// if (platform != null) {
// String name = platform.getName();
// final String siteUrl = UriProvider.IM_SERVER_URL + XChatConstants.SHARE_ROOM_URL +
// AuthModel.get().getCurrentUid() + "&uid=" + roomUid + "&room_name=" +
// URLEncoder.encode(title, "utf8") + "&room_id=" + roomId + "&room_avatar=" +
// URLEncoder.encode(room_avatar, "utf8") + "&share_name=" +
// URLEncoder.encode(UserModel.get().getCacheLoginUserInfo().getNick(), "utf8");
// if (name.equals("GooglePlus")) {
// try {
// ClipboardManager cm = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
// cm.setPrimaryClip(ClipData.newPlainText("text", siteUrl));
// emitter.onSuccess("已複製");
// } catch (Exception e) {
// Logger.info("copyText", String.valueOf(e));
// emitter.onError(new Throwable(String.valueOf(e)));
// }
// } else {
// Platform.ShareParams sp = new Platform.ShareParams();
// sp.setImageUrl(room_avatar);
//
// //facebook
//// if (platform.getName().equals(Facebook.NAME)) {
//// sp.setTitle(XChatConstants.SHARE_ROOM_TITLE);
//// sp.setText(XChatConstants.SHARE_ROOM_TEXT);
//// sp.setUrl(siteUrl);
//// sp.setShareType(Platform.SHARE_WEBPAGE);
//// }
// //line
//// else
//// if (platform.getName().equals(Line.NAME)) {
//// sp.setText(XChatConstants.SHARE_ROOM_TEXT + "[" + siteUrl + "]");
//// }
//
// platform.setPlatformActionListener(new PlatformActionListener() {
// @Override
// public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
// sendShareRoomTipMsg(roomUid);
// reportShare(String.valueOf(roomUid), 1, platform, siteUrl);
// emitter.onSuccess(MSG.success);
// }
//
// @Override
// public void onError(Platform platform, int i, Throwable throwable) {
// String errorMsg = MSG.failed;
// if (throwable.getMessage().contains("not installed")) {
// errorMsg = ResUtil.getString(R.string.not_install_app);
// }
// emitter.onError(new Throwable(errorMsg));
// }
//
// @Override
// public void onCancel(Platform platform, int i) {
// emitter.onError(new Throwable(MSG.cancel));
// }
// });
// platform.share(sp);
// }
// }
}
});
}
/**
* 向我们服务器报告分享
*
* @param roomUid
* @param sharePageId
* @param platform
* @param shareUrl
*/
private void reportShare(String roomUid, int sharePageId, Platform platform, String shareUrl) {
// int shareType = 0;
// if (platform.getName().equals(GooglePlus.NAME)) {
// shareType = 1;
// } else if (platform.getName().equals(Line.NAME)) {
// shareType = 2;
// } else if (platform.getName().equals(Facebook.NAME)) {
// shareType = 3;
// }
//
// api.getShareRedPacket(
// String.valueOf(AuthModel.get().getCurrentUid()),
// roomUid,
// String.valueOf(shareType),
// sharePageId + "",
// shareUrl,
// AuthModel.get().getTicket()
// )
// .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe();
}
@Override
public Single<String> shareFamily(Platform platform,
String familyId,
String familyIcon,
String title) {
return Single.create(new SingleOnSubscribe<String>() {
@Override
public void subscribe(SingleEmitter<String> emitter) throws Exception {
emitter.onError(new Throwable());
//无UI API
// final String shareLink = UriProvider.IM_SERVER_URL + XChatConstants.SHARE_FAMILY_URL;
// Platform.ShareParams sp = new Platform.ShareParams();
// sp.setText(XChatConstants.SHARE_FAMILY_TEXT);
// sp.setTitle(XChatConstants.SHARE_FAMILY_TITLE + "“" + title + "”");
// sp.setImageUrl(familyIcon);
//
// sp.setSite(XChatConstants.SHARE_FAMILY_TEXT);
// final String siteUrl = shareLink + "?shareUid=" + String.valueOf(AuthModel.get().getCurrentUid())
// + "&familyId=" + familyId;
// sp.setSiteUrl(siteUrl);
//
// sp.setTitleUrl(siteUrl);
//
// sp.setUrl(siteUrl);
//
// sp.setShareType(Platform.SHARE_WEBPAGE);
// platform.setPlatformActionListener(new PlatformActionListener() {
// @Override
// public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
// reportShare(null, 1, platform, siteUrl);
// emitter.onSuccess(MSG.success);
// }
//
// @Override
// public void onError(Platform platform, int i, Throwable throwable) {
// emitter.onError(new Throwable(MSG.cancel));
// }
//
// @Override
// public void onCancel(Platform platform, int i) {
// emitter.onError(new Throwable(MSG.failed));
// }
// });
// platform.share(sp);
}
});
}
@Override
public Single<String> shareFamilyTeam(Platform platform, String familyId, String teamIcon, String title) {
return Single.create(new SingleOnSubscribe<String>() {
@Override
public void subscribe(SingleEmitter<String> emitter) throws Exception {
emitter.onError(new Throwable());
// //无UI API
// final String shareLink = UriProvider.IM_SERVER_URL + XChatConstants.SHARE_TEAM_URL;
// Platform.ShareParams sp = new Platform.ShareParams();
// sp.setText(XChatConstants.SHARE_TEAM_TEXT);
// sp.setTitle(XChatConstants.SHARE_TEAM_TITLE + "“" + title + "”");
// sp.setImageUrl(teamIcon);
//
// sp.setSite(XChatConstants.SHARE_TEAM_TEXT);
// final String siteUrl = shareLink + "?shareUid=" + String.valueOf(AuthModel.get().getCurrentUid())
// + "&familyId=" + familyId;
// sp.setSiteUrl(siteUrl);
//
// sp.setTitleUrl(siteUrl);
//
// sp.setUrl(siteUrl);
//
// sp.setShareType(Platform.SHARE_WEBPAGE);
// platform.setPlatformActionListener(new PlatformActionListener() {
// @Override
// public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
// reportShare(null, 1, platform, siteUrl);
// emitter.onSuccess(MSG.success);
// }
//
// @Override
// public void onError(Platform platform, int i, Throwable throwable) {
// emitter.onError(new Throwable(MSG.failed));
// }
//
// @Override
// public void onCancel(Platform platform, int i) {
// emitter.onError(new Throwable(MSG.cancel));
// }
// });
// platform.share(sp);
}
});
}
@Override
public Single<String> shareText(Platform platform, String text) {
return Single.create(emitter -> {
emitter.onError(new Throwable());
// Platform.ShareParams sp = new Platform.ShareParams();
// sp.setTitle("");
// sp.setText(text);
// sp.setImageUrl("");
// sp.setShareType(Platform.SHARE_TEXT);
// platform.setPlatformActionListener(new PlatformActionListener() {
// @Override
// public void onComplete(Platform platform1, int i, HashMap<String, Object> hashMap) {
// emitter.onSuccess(MSG.success);
// }
//
// @Override
// public void onError(Platform platform1, int i, Throwable throwable) {
// emitter.onError(new Throwable(MSG.failed));
// }
//
// @Override
// public void onCancel(Platform platform1, int i) {
// emitter.onError(new Throwable(MSG.cancel));
// }
// });
// platform.share(sp);
});
}
@SuppressLint("CheckResult")
private void sendShareRoomTipMsg(long targetUid) {
UserModel.get().getUserInfo(targetUid).subscribe(new Consumer<UserInfo>() {
@Override
public void accept(UserInfo userInfo) throws Exception {
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
if (roomInfo != null && userInfo != null) {
UserInfo myUserInfo = UserModel.get().getCacheLoginUserInfo();
RoomTipAttachment roomTipAttachment = new RoomTipAttachment(CustomAttachment.CUSTOM_MSG_HEADER_TYPE_ROOM_TIP,
CustomAttachment.CUSTOM_MSG_SUB_TYPE_ROOM_TIP_SHARE_ROOM);
roomTipAttachment.setUid(myUserInfo.getUid());
roomTipAttachment.setNick(myUserInfo.getNick());
roomTipAttachment.setTargetUid(targetUid);
roomTipAttachment.setTargetNick(userInfo.getNick());
ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(
// 聊天室id
roomInfo.getRoomId() + "",
// 自定义消息
roomTipAttachment
);
IMNetEaseManager.get().sendChatRoomMessage(message, true)
.subscribe(chatRoomMessage -> {
if (chatRoomMessage == null) return;
// 更新自己公屏的信息
IMNetEaseManager.get().addMessagesImmediately(chatRoomMessage);
});
}
}
});
}
public void shareImage(Platform platform, String url) {
//无UI API
// final String shareLink = UriProvider.IM_SERVER_URL + XChatConstants.SHARE_TEAM_URL;
// Platform.ShareParams sp = new Platform.ShareParams();
// sp.setImageUrl(url);
//
// sp.setSite(XChatConstants.SHARE_TEAM_TEXT);
//
// sp.setShareType(Platform.SHARE_IMAGE);
// platform.setPlatformActionListener(new PlatformActionListener() {
// @Override
// public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
// }
//
// @Override
// public void onError(Platform platform, int i, Throwable throwable) {
// }
//
// @Override
// public void onCancel(Platform platform, int i) {
// }
// });
// platform.share(sp);
}
public Single<String> shareImageForSignIn(Platform platform, String url) {
return Single.create(emitter -> {
emitter.onError(new Throwable());
// Platform.ShareParams sp = new Platform.ShareParams();
// sp.setImageUrl(url);
//
// sp.setSite(XChatConstants.SHARE_TEAM_TEXT);
//
// sp.setShareType(Platform.SHARE_IMAGE);
// platform.setPlatformActionListener(new PlatformActionListener() {
// @Override
// public void onComplete(Platform platform1, int i, HashMap<String, Object> hashMap) {
// emitter.onSuccess(MSG.success);
// }
//
// @Override
// public void onError(Platform platform1, int i, Throwable throwable) {
// emitter.onError(new Throwable(MSG.failed));
// }
//
// @Override
// public void onCancel(Platform platform1, int i) {
// emitter.onError(new Throwable(MSG.cancel));
// }
// });
// platform.share(sp);
});
}
@Override
public Single<String> shareCommon(Platform platform, ShareCommonInfo info, boolean toast) {
return Single.create((SingleOnSubscribe<String>) emitter -> {
emitter.onError(new Throwable());
// Platform.ShareParams sp = new Platform.ShareParams();
// sp.setTitle(info.getTitle());
// sp.setText(info.getContent());
// sp.setImageUrl(info.getImageUrl());
// String siteUrl = info.getSiteUrl();
//
// sp.setSite(info.getTitle());
// sp.setSiteUrl(siteUrl);
//
// sp.setTitleUrl(siteUrl);
//
// sp.setUrl(siteUrl);
// sp.setShareType(Platform.SHARE_WEBPAGE);
// platform.setPlatformActionListener(new PlatformActionListener() {
// @Override
// public void onComplete(Platform platform1, int i, HashMap<String, Object> hashMap) {
// emitter.onSuccess(MSG.success);
// }
//
// @Override
// public void onError(Platform platform1, int i, Throwable throwable) {
// emitter.onError(new Throwable(MSG.failed));
// }
//
// @Override
// public void onCancel(Platform platform1, int i) {
// emitter.onError(new Throwable(MSG.cancel));
// }
// });
// platform.share(sp);
})
.doOnSuccess(s -> {
if (toast) {
SingleToastUtil.showToast(s);
}
})
.doOnError(throwable -> {
if (toast) {
SingleToastUtil.showToast(throwable.getMessage());
}
});
}
private interface MSG {
String success = ResUtil.getString(R.string.xchat_android_core_share_sharemodel_01);
String failed = ResUtil.getString(R.string.xchat_android_core_share_sharemodel_02);
String cancel = ResUtil.getString(R.string.xchat_android_core_share_sharemodel_03);
}
interface Api {
/**
* 报告服务器分享
*
* @param uid
* @param targetUid //分享房间的时候传房主uid
* @param shareType
* @param sharePageId
* @param shareUrl
* @param ticket
* @return
*/
@POST("/usershare/save")
Single<ShareRedPacketResult> getShareRedPacket(@Query("uid") String uid,
@Query("targetUid") String targetUid,
@Query("shareType") String shareType,
@Query("sharePageId") String sharePageId,
@Query("shareUrl") String shareUrl,
@Query("ticket") String ticket);
}
private static final class Helper {
public static final ShareModel INSTANCE = new ShareModel();
}
}