This commit is contained in:
2024-05-08 11:19:51 +08:00
parent dc652050ac
commit b2da6e4ea1
86 changed files with 1932 additions and 110 deletions

View File

@@ -181,6 +181,10 @@
android:name=".activity.UserHomeActivity"
android:screenOrientation="portrait" />
<activity android:name=".activity.FeedbackActivity" android:screenOrientation="portrait" />
<activity android:name=".activity.FeedbackSuccessActivity" android:screenOrientation="portrait"/>
<activity android:name=".activity.FeedbackEditActivity" android:screenOrientation="portrait"/>
</application>
</manifest>

View File

@@ -6,6 +6,7 @@ import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
@@ -21,6 +22,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.lxj.xpopup.XPopup;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.BattlePassUserInfoBean;
import com.yunbao.common.bean.HttpCallbackModel;
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
import com.yunbao.common.dialog.ActivateEliteBattleOrderPopupWindow;
import com.yunbao.common.dialog.ActivityEndPopupWindow;
@@ -69,6 +71,7 @@ public class BattlePassActivity extends AbsActivity {
Button moreIntegralButton;
String enjoySpendMoney = "";
String quintessenceSpendMoney = "";
Button allGet;
BattlePassUserInfoBean data;
@@ -99,6 +102,7 @@ public class BattlePassActivity extends AbsActivity {
tab3 = findViewById(R.id.tab_3);
expText = findViewById(R.id.exp_text);
viewPager = findViewById(R.id.context_layout);
allGet = findViewById(R.id.all_get);
fragments.add(new BattlePassRewardFragment(() -> data));
fragments.add(new BattlePassMissionFragment(() -> data));
fragments.add(new BattlePassExchangeFragment(() -> data));
@@ -171,21 +175,44 @@ public class BattlePassActivity extends AbsActivity {
.show();
}
});
ViewClicksAntiShake.clicksAntiShake(allGet, new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
LiveNetManager.get(mContext)
.getRewards("0", "0", new HttpCallback<HttpCallbackModel>() {
@Override
public void onSuccess(HttpCallbackModel data) {
ToastUtil.show(data.getMsg());
initData();
}
@Override
public void onError(String error) {
ToastUtil.show(error);
}
});
}
});
}
private void clickView(int position) {
switch (position) {
case 0:
if (allGet.getTag() != null) {
allGet.setVisibility(View.VISIBLE);
}
tab1.setImageResource(R.mipmap.ic_zl_tab1);
tab2.setImageResource(R.mipmap.ic_zl_tab2_unselect);
tab3.setImageResource(R.mipmap.ic_zl_tab3_unselect);
break;
case 1:
event(new BattlePassTypeEvent(2));
tab1.setImageResource(R.mipmap.ic_zl_tab1_unselect);
tab2.setImageResource(R.mipmap.ic_zl_tab2);
tab3.setImageResource(R.mipmap.ic_zl_tab3_unselect);
break;
case 2:
event(new BattlePassTypeEvent(2));
tab1.setImageResource(R.mipmap.ic_zl_tab1_unselect);
tab2.setImageResource(R.mipmap.ic_zl_tab2_unselect);
tab3.setImageResource(R.mipmap.ic_zl_tab3);
@@ -210,8 +237,8 @@ public class BattlePassActivity extends AbsActivity {
levelView.setText("Lv." + data.getLevel());
expText.setText(data.getBattlePassExp() + "/" +
(data.getNextLevelExp() == 0 ? data.getBattlePassExp() : data.getNextLevelExp()));
levelProgressView.setMax(data.getNextLevelExp()-data.getLastLevelExp());
levelProgressView.setProgress(data.getBattlePassExp()-data.getLastLevelExp());
levelProgressView.setMax(data.getNextLevelExp() - data.getLastLevelExp());
levelProgressView.setProgress(data.getBattlePassExp() - data.getLastLevelExp());
integralView.setText(String.format(WordUtil.getNewString(R.string.battlepass_user_my_integral), data.getPoints()));
for (LiveBattlePassRewardsBean.BattlePassType passType : data.getLive_battle_pass_type()) {
@@ -251,6 +278,11 @@ public class BattlePassActivity extends AbsActivity {
public void event(BattlePassTypeEvent event) {
if (event.getType() == 0) {
initData();
} else if (event.getType() == 1) {
allGet.setVisibility(View.VISIBLE);
allGet.setTag(event.getBean());
} else if (event.getType() == 2) {
allGet.setVisibility(View.GONE);
}
}
}

View File

@@ -636,7 +636,7 @@ public class EntryActivity extends AppCompatActivity {
Contexts.startActivity(new Intent(Contexts, BindUserActivity.class).putExtra("uid", uid).putExtra("token", token));
}
} else {
ToastUtil.show(msg + "11212");
ToastUtil.show(msg);
}
}

View File

@@ -0,0 +1,82 @@
package com.yunbao.main.activity;
import android.app.Dialog;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.HttpCallbackModel;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.main.R;
import com.yunbao.main.http.MainHttpUtil;
@Route(path = RouteUtil.PATH_FEEDBACK_ACTIVITY)
public class FeedbackActivity extends AbsActivity {
@Override
protected int getLayoutId() {
return R.layout.activity_feedback;
}
@Override
protected void main() {
super.main();
setTitle(WordUtil.getNewString(R.string.activity_feedback_top_title));
setTitleBold(true);
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_cs), new ViewClicksAntiShake.ViewClicksCallBack() {
Dialog loading;
@Override
public void onViewClicks() {
//TODO 客服
loading= DialogUitl.loadingDialog(mContext);
loading.show();
MainHttpUtil.getCustomerService(new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
loading.dismiss();
loading=null;
if (info.length == 1) {
String url = info[0];
RouteUtil.forwardCustomerService(url);
}
}
@Override
public void onError() {
super.onError();
loading.dismiss();
loading=null;
}
});
}
});
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_feedback), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
//TODO 意见反馈
LiveNetManager.get(mContext)
.checkFeedback(new com.yunbao.common.http.base.HttpCallback<HttpCallbackModel>() {
@Override
public void onSuccess(HttpCallbackModel data) {
if (data.getCode() == 0) {
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_EDIT_ACTIVITY);
} else {
ToastUtil.show(R.string.activity_feedback_edit_submit_tip3);
}
}
@Override
public void onError(String error) {
ToastUtil.show(error);
}
});
}
});
}
}

View File

@@ -0,0 +1,396 @@
package com.yunbao.main.activity;
import android.app.Dialog;
import android.graphics.Color;
import android.text.Editable;
import android.text.InputFilter;
import android.text.Spanned;
import android.text.TextWatcher;
import android.util.SparseArray;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.fastjson.JSONArray;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.HttpCallbackModel;
import com.yunbao.common.dialog.ImagePreviewDialog;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.interfaces.ImageResultCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.ProcessImageUtil;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.main.R;
import java.io.File;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Route(path = RouteUtil.PATH_FEEDBACK_EDIT_ACTIVITY)
public class FeedbackEditActivity extends AbsActivity {
EditText feedbackEdit;
ImageView img1, img2, img3;
EditText ciEdit;
Button submit;
TextView editNumber;
ProcessImageUtil imageUtil;
Dialog loadingDialog = null;
int clickImage = 0;
View img1Layout, img2Layout, img3Layout;
View img1Del, img2Del, img3Del;
@Override
protected int getLayoutId() {
return R.layout.activity_feedback_edit;
}
@Override
protected void main() {
super.main();
setTitle(WordUtil.getNewString(R.string.activity_feedback_edit_feedback_top));
setTitleBold(true);
initView();
imageUtil = new ProcessImageUtil(this);
feedbackEdit.setFilters(new InputFilter[]{new InputFilter.LengthFilter(501)});
ciEdit.setFilters(new InputFilter[]{new InputFilter.LengthFilter(30), new InputFilter() {
@Override
public CharSequence filter(CharSequence charSequence, int i, int i1, Spanned spanned, int i2, int i3) {
/* String regex = "[A-Za-z0-9]+"; // 正则表达式
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(charSequence.toString());
if (matcher.matches()) {
return null;
}
return "";*/
return null;
}
}});
feedbackEdit.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if (charSequence.length() >= 500) {
editNumber.setTextColor(Color.parseColor("#FF5656"));
} else {
editNumber.setTextColor(Color.parseColor("#333333"));
}
editNumber.setText(String.format(Locale.getDefault(), "%d", charSequence.length()));
}
@Override
public void afterTextChanged(Editable editable) {
if (editable.length() > 500) {
ToastUtil.show(R.string.activity_feedback_edit_submit_tip2);
feedbackEdit.setText(editable.toString().substring(0, 500));
feedbackEdit.setSelection(feedbackEdit.getText().length());
}
}
});
ViewClicksAntiShake.clicksAntiShake(img1, () -> {
clickImage = 101;
if (img1.getTag() == null) {
uploadImage(img1);
} else {
showImage(img1);
}
});
ViewClicksAntiShake.clicksAntiShake(img2, () -> {
clickImage = 201;
if (img2.getTag() == null) {
uploadImage(img2);
} else {
showImage(img2);
}
});
ViewClicksAntiShake.clicksAntiShake(img3, () -> {
clickImage = 301;
if (img3.getTag() == null) {
uploadImage(img3);
} else {
showImage(img3);
}
});
ViewClicksAntiShake.clicksAntiShake(img1Del, () -> {
deleteImage(1);
});
ViewClicksAntiShake.clicksAntiShake(img2Del, () -> {
deleteImage(2);
});
ViewClicksAntiShake.clicksAntiShake(img3Del, () -> {
deleteImage(3);
});
ViewClicksAntiShake.clicksAntiShake(submit, () -> {
if (feedbackEdit.getText().length() == 0) {
ToastUtil.show(R.string.activity_feedback_edit_submit_tip1);
return;
}
JSONArray images = new JSONArray();
if (img1.getTag() != null) {
images.add(((String) img1.getTag()).replace("https://downs.yaoulive.com/" ,""));
}
if (img2.getTag() != null) {
images.add(((String) img2.getTag()).replace("https://downs.yaoulive.com/" ,""));
}
if (img3.getTag() != null) {
images.add(((String) img3.getTag()).replace("https://downs.yaoulive.com/" ,""));
}
LiveNetManager.get(mContext)
.feedback(feedbackEdit.getText().toString(),
images,
ciEdit.getText().toString(),
new HttpCallback<HttpCallbackModel>() {
@Override
public void onSuccess(HttpCallbackModel data) {
finish();
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_SUCCESS_ACTIVITY);
}
@Override
public void onError(String error) {
ToastUtil.show(error);
}
}
);
});
img1.setOnLongClickListener(view -> {
ToastUtil.showDebug("1");
return true;
});
img2.setOnLongClickListener(view -> {
ToastUtil.showDebug("2");
return true;
});
img3.setOnLongClickListener(view -> {
ToastUtil.showDebug("3");
return true;
});
imageUtil.setImageResultCallback(new ImageResultCallback() {
@Override
public void onSuccess(File file) {
ToastUtil.showDebug("图片地址:" + file.getAbsolutePath());
onSuccessToQiNiuUrl(mContext, file, new OnItemClickListener<String>() {
@Override
public void onItemClick(String bean, int position) {
if (loadingDialog != null) {
loadingDialog.dismiss();
loadingDialog = null;
}
switch (clickImage) {
case 101:
case 112:
setShowImage(img1, img1Del, bean);
if (img2.getTag() == null) {
setDefImage(img2, img2Del, img2Layout);
} else if (img3.getTag() == null) {
setDefImage(img3, img3Del, img3Layout);
}
break;
case 201:
case 212:
setShowImage(img2, img2Del, bean);
if (img3.getTag() == null) {
setDefImage(img3, img3Del, img3Layout);
}
break;
case 301:
case 312:
setShowImage(img3, img3Del, bean);
break;
}
}
});
}
@Override
public void onFailure() {
super.onFailure();
if (loadingDialog != null) {
loadingDialog.dismiss();
loadingDialog = null;
}
}
});
}
private void showImage(ImageView iv) {
ImagePreviewDialog dialog = new ImagePreviewDialog();
dialog.setImageInfo(1, 1, false, new ImagePreviewDialog.ActionListener() {
@Override
public void loadImage(ImageView imageView, int position) {
ImgLoader.display(mContext, (String) iv.getTag(), imageView);
}
@Override
public void onDeleteClick(int position) {
}
});
dialog.show(((AbsActivity) mContext).getSupportFragmentManager(), "ImagePreviewDialog");
}
private void showUploadImage(SparseArray<String> list) {
DialogUitl.showStringArrayDialog(mContext, list, new DialogUitl.StringArrayDialogCallback() {
@Override
public void onItemClick(String text, int tag) {
clickImage = tag;
switch (tag) {
case 101:
uploadImage(img1);
break;
case 201:
uploadImage(img2);
break;
case 301:
uploadImage(img3);
break;
case 111:
deleteImage(1);
break;
case 211:
deleteImage(2);
break;
case 311:
deleteImage(3);
break;
case 112:
changeImage(img1);
break;
case 212:
changeImage(img2);
break;
case 312:
changeImage(img3);
break;
}
}
});
}
private void uploadImage(ImageView imageView) {
if (loadingDialog != null) {
loadingDialog.dismiss();
loadingDialog = null;
}
SparseArray<String> array = new SparseArray<>();
array.put(1, WordUtil.getNewString(R.string.activity_feedback_edit_img_select));
array.put(2, WordUtil.getNewString(R.string.activity_feedback_edit_img_camera));
DialogUitl.showStringArrayDialog(mContext, array, new DialogUitl.StringArrayDialogCallback() {
@Override
public void onItemClick(String text, int tag) {
loadingDialog = DialogUitl.loadingDialog(mContext);
loadingDialog.show();
if (tag == 1) {
imageUtil.getImageByAlumb(false);
} else {
imageUtil.getImageByCamera(false);
}
}
});
}
private void deleteImage(int index) {
if (index == 1) {
if (img2.getTag() != null) {
img1.setTag(img2.getTag());
ImgLoader.display(mContext, (String) img1.getTag(), img1);
if (img3.getTag() != null) {
img2.setTag(img3.getTag());
ImgLoader.display(mContext, (String) img2.getTag(), img2);
setDefImage(img3, img3Del, img3Layout);
} else {
setDefImage(img2, img2Del, img2Layout);
setGoneImage(img3, img3Del, img3Layout);
}
} else {
setDefImage(img1, img1Del, img1Layout);
setGoneImage(img2, img2Del, img2Layout);
setGoneImage(img3, img3Del, img3Layout);
}
} else if (index == 2) {
if (img3.getTag() != null) {
img2.setTag(img3.getTag());
ImgLoader.display(mContext, (String) img2.getTag(), img2);
setDefImage(img3, img3Del, img3Layout);
} else {
setDefImage(img2, img2Del, img2Layout);
setGoneImage(img3, img3Del, img3Layout);
}
} else if (index == 3) {
setDefImage(img3, img3Del, img3Layout);
}
}
private void setDefImage(ImageView iv, View ivDel, View ivLayout) {
iv.setTag(null);
ivDel.setVisibility(View.GONE);
iv.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
ivLayout.setVisibility(View.VISIBLE);
}
private void setGoneImage(ImageView iv, View ivDel, View ivLayout) {
iv.setTag(null);
ivDel.setVisibility(View.GONE);
ivLayout.setVisibility(View.GONE);
}
private void setShowImage(ImageView iv, View ivDel, String url) {
iv.setTag(url);
ImgLoader.display(mContext, url, iv);
ivDel.setVisibility(View.VISIBLE);
}
private void changeImage(ImageView imageView) {
uploadImage(imageView);
}
private SparseArray<String> getImageType1(int key) {
SparseArray<String> array = new SparseArray<>();
array.put(key + 1, WordUtil.getNewString(R.string.activity_feedback_edit_img_type1_upload));
return array;
}
private SparseArray<String> getImageType2(int key) {
SparseArray<String> array = new SparseArray<>();
array.put(key + 1, WordUtil.getNewString(R.string.activity_feedback_edit_img_type2_delete));
array.put(key + 2, WordUtil.getNewString(R.string.activity_feedback_edit_img_type2_change));
return array;
}
private void initView() {
feedbackEdit = findViewById(R.id.tv_feedback);
ciEdit = findViewById(R.id.edit_ci);
img1 = findViewById(R.id.img1);
img2 = findViewById(R.id.img2);
img3 = findViewById(R.id.img3);
img1Layout = findViewById(R.id.img1Layout);
img2Layout = findViewById(R.id.img2Layout);
img3Layout = findViewById(R.id.img3Layout);
img1Del = findViewById(R.id.img1_del);
img2Del = findViewById(R.id.img2_del);
img3Del = findViewById(R.id.img3_del);
submit = findViewById(R.id.btn_sub);
editNumber = findViewById(R.id.tv_number);
editNumber.setTextColor(Color.parseColor("#333333"));
}
}

View File

@@ -0,0 +1,29 @@
package com.yunbao.main.activity;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.main.R;
@Route(path = RouteUtil.PATH_FEEDBACK_SUCCESS_ACTIVITY)
public class FeedbackSuccessActivity extends AbsActivity {
@Override
protected int getLayoutId() {
return R.layout.activity_feedback_success;
}
@Override
protected void main() {
super.main();
setTitleBold(true);
setTitle(WordUtil.getNewString(R.string.activity_feedback_edit_feedback_top));
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.sub), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
public void onViewClicks() {
finish();
}
});
}
}

View File

@@ -285,9 +285,9 @@ public class SettingActivity extends AbsActivity implements OnItemClickListener<
} else {
ImgLoader.display(mContext, com.yunbao.common.R.mipmap.special_icon_on, studioRideEffects);
}
if(IMLoginManager.get(mContext).isLiveNotifySettings()){
if (IMLoginManager.get(mContext).isLiveNotifySettings()) {
ImgLoader.display(mContext, com.yunbao.common.R.mipmap.special_icon_on, liveNotifySettings);
}else{
} else {
ImgLoader.display(mContext, com.yunbao.common.R.mipmap.special_icon_off, liveNotifySettings);
}
}
@@ -316,12 +316,16 @@ public class SettingActivity extends AbsActivity implements OnItemClickListener<
.show();
}
} else if (bean.getId() == 17 || bean.getId() == 26) {
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_ACTIVITY);
}
} else {
if (bean.getId() == 17) {//意见反馈要在url上加版本号和设备号
if (bean.getId() == 17 || bean.getId() == 26) {//意见反馈要在url上加版本号和设备号
href += "&version=" + android.os.Build.VERSION.RELEASE + "&model=" + android.os.Build.MODEL;
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_ACTIVITY);
} else {
WebViewActivity.forward(mContext, href, false);
}
WebViewActivity.forward(mContext, href,false);
}
}

View File

@@ -34,6 +34,7 @@ import com.opensource.svgaplayer.SVGAVideoEntity;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.Constants;
import com.yunbao.common.HtmlConfig;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.event.JavascriptInterfaceEvent;
@@ -49,6 +50,7 @@ import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.main.R;
@@ -86,6 +88,7 @@ public class ZhuangBanActivity extends AbsActivity {
if (!"".equals(Constants.myPackageUrl)) {
url = Constants.myPackageUrl;
}
v_spacing = (View) findViewById(R.id.v_spacing);
lt_title = (LinearLayout) findViewById(R.id.lt_title);
LinearLayout rootView = (LinearLayout) findViewById(com.yunbao.live.R.id.rootView);
@@ -102,13 +105,12 @@ public class ZhuangBanActivity extends AbsActivity {
}
L.e("H5---5>" + url);
mProgressBar = (ProgressBar) findViewById(R.id.progressbar);
svga = (SVGAImageView) findViewById(R.id.svga);
mWebView = new WebView(mContext);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
params.topMargin = DpUtil.dp2px(1);
params.bottomMargin = DpUtil.dp2px(15);
//params.bottomMargin = DpUtil.dp2px(15);
mWebView.setLayoutParams(params);
mWebView.setOverScrollMode(View.OVER_SCROLL_NEVER);
rootView.addView(mWebView);
@@ -194,6 +196,9 @@ public class ZhuangBanActivity extends AbsActivity {
}
mWebView.loadUrl(url);
AndroidBug5497Workaround.assistActivity(this);
if(!StringUtil.isEmpty(url)&&url.startsWith(HtmlConfig.SHOP)){
lt_title.setVisibility(View.GONE);
}
}

View File

@@ -6,6 +6,16 @@ import java.util.List;
public class BattlePassTypeEvent {
int type;
LiveBattlePassRewardsBean bean;
public LiveBattlePassRewardsBean getBean() {
return bean;
}
public BattlePassTypeEvent setBean(LiveBattlePassRewardsBean bean) {
this.bean = bean;
return this;
}
public BattlePassTypeEvent(int liveBattlePassType) {
this.type=liveBattlePassType;

View File

@@ -190,6 +190,11 @@ public class BattlePassRewardFragment extends BaseFragment {
}
}
if(data.getIs_received()>=2){
Bus.get().post(new BattlePassTypeEvent(1).setBean(data));
}else{
Bus.get().post(new BattlePassTypeEvent(2).setBean(data));
}
Collection<Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward>> values = data.getLive_battle_pass_rewards().values();
List<Map<Integer, LiveBattlePassRewardsBean.LiveBattlePassReward>> list = new ArrayList<>(values);
/* list.get(1).get(1).setReceived(2);

View File

@@ -357,7 +357,7 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
if (u.getDress().getMedal() != null) {
Log.e("tag", u.getDress().getMedal());
ImgLoader.displayWithError(mContext, u.getDress().getMedal(), user_noble_ico,R.mipmap.icon_vip_gold);
ImgLoader.displayWithError(mContext, u.getDress().getMedal(), user_noble_ico, R.mipmap.icon_vip_gold);
} else {
user_noble_ico.setImageResource(R.mipmap.icon_vip_gold);
}
@@ -470,6 +470,10 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
MobclickAgent.onEvent(mContext, "my_room", "个人中心点房间管理");
forwardRoomManage();
break;
case 26:
case 17:
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_ACTIVITY);
break;
}
} else {
//21 在线客服
@@ -508,7 +512,10 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
if (bean.getId() == 24) {
MobclickAgent.onEvent(mContext, "my_pack", "个人中心点包裹");
}
WebViewActivity.forward(mContext, url, false);
if (bean.getId() == 17 || bean.getId() == 26) {
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_ACTIVITY);
} else
WebViewActivity.forward(mContext, url, false);
}
}

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="345dp" android:height="145dp">
<shape android:shape="rectangle">
<solid android:color="#fff7f7f7" />
<corners android:topLeftRadius="10dp" android:topRightRadius="10dp" android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" />
</shape>
</item>
</selector>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="132dp" android:height="50dp">
<shape android:shape="rectangle">
<solid android:color="#ffffe34f" />
<corners android:topLeftRadius="10dp" android:topRightRadius="10dp" android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" />
</shape>
</item>
</selector>

View File

@@ -2,6 +2,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
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:background="#140F1F"
android:layout_height="match_parent">
@@ -112,6 +113,20 @@
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
<Button
android:id="@+id/all_get"
android:text="@string/activity_battle_pass_all_get"
android:layout_width="120dp"
android:visibility="gone"
tools:visibility="visible"
android:layout_height="34dp"
android:textColor="#ff6c00"
android:textAllCaps="false"
android:layout_marginBottom="50dp"
android:layout_marginEnd="50dp"
android:background="@mipmap/icon_battle_all_get"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF">
<include
android:id="@+id/include4"
layout="@layout/view_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:text="@string/activity_feedback_title"
android:textColor="#777777"
android:textSize="24sp"
app:layout_constraintBottom_toTopOf="@+id/linearLayout4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="match_parent"
android:layout_height="130dp"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/include4">
<Button
android:id="@+id/btn_cs"
android:layout_width="165dp"
android:layout_height="match_parent"
android:layout_marginEnd="15dp"
android:layout_weight="1"
android:background="#F7F7F7"
android:text="@string/activity_feedback_customer_service"
android:textAllCaps="false"
android:textColor="#333333"
android:textSize="13sp" />
<Button
android:id="@+id/btn_feedback"
android:layout_width="165dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textAllCaps="false"
android:background="#F7F7F7"
android:text="@string/activity_feedback_feedback"
android:textColor="#333333"
android:textSize="13sp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,259 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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:background="#FFFFFF">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/include4"
layout="@layout/view_title" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/activity_feedback_edit_feedback_title"
android:textColor="#333333"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*"
android:textColor="#FF5656"
android:textSize="15sp" />
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="145dp"
android:background="@drawable/bg_btn_feedback_edit_tv_edit"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp">
<EditText
android:id="@+id/tv_feedback"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="10dp"
android:background="@drawable/bg_btn_feedback_edit_tv_edit"
android:ems="10"
android:gravity="start"
android:hint="@string/activity_feedback_edit_feedback_hint"
android:inputType="text|textMultiLine"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:textSize="11sp"
app:layout_constraintBottom_toTopOf="@+id/linearLayout5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginEnd="15dp"
android:layout_marginBottom="15dp"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<TextView
android:id="@+id/tv_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0"
android:textColor="#333333" />
<TextView
android:id="@+id/tv_max"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="/500"
android:textColor="#333333" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="20dp"
android:text="@string/activity_feedback_edit_feedback_img_title"
android:textColor="#333333"
android:textSize="15sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/imgLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/img1Layout"
android:layout_width="105dp"
android:layout_height="105dp"
android:layout_marginEnd="10dp">
<ImageView
android:id="@+id/img1"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/icon_activity_feedback_edit_img_add"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/img1_del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_feedback_edit_image_del"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/img2Layout"
android:layout_width="105dp"
android:layout_height="105dp"
android:layout_marginEnd="10dp"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/img2"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/icon_activity_feedback_edit_img_add"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/img2_del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_feedback_edit_image_del"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/img3Layout"
android:layout_width="105dp"
android:layout_height="105dp"
android:layout_marginEnd="10dp"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/img3"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/icon_activity_feedback_edit_img_add"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/img3_del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_feedback_edit_image_del"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="20dp"
android:text="@string/activity_feedback_edit_feedback_ci_title"
android:textColor="#333333"
android:textSize="15sp"
android:textStyle="bold" />
<EditText
android:id="@+id/edit_ci"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="15dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="15dp"
android:background="@drawable/bg_btn_feedback_edit_tv_edit"
android:ems="10"
android:hint="@string/activity_feedback_edit_feedback_ci_hint"
android:inputType="text"
android:padding="15dp"
android:textSize="11sp" />
<Button
android:id="@+id/btn_sub"
android:layout_width="132dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:layout_marginTop="80dp"
android:background="@drawable/bg_btn_feedback_success"
android:text="@string/activity_feedback_edit_feedback_btn"
android:textAllCaps="false" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="11dp"
android:layout_marginBottom="130dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*"
android:textColor="#FF5656"
android:textSize="11sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/activity_feedback_edit_feedback_btn_tips"
android:textColor="#777777"
android:textSize="11sp" />
</LinearLayout>
</LinearLayout>
</ScrollView>

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:background="#FFFFFF"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:layout_marginEnd="50dp"
android:gravity="center"
android:maxLines="2"
android:text="@string/activity_feedback_success_tips"
android:textColor="#333333"
android:textSize="13sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="19dp"
app:layout_constraintBottom_toTopOf="@+id/textView14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@mipmap/icon_activity_feedback_success" />
<TextView
android:id="@+id/textView15"
android:textSize="24sp"
android:textColor="#777777"
android:layout_width="wrap_content"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_marginBottom="19dp"
android:text="@string/activity_feedback_success_title"
app:layout_constraintBottom_toTopOf="@+id/imageView11"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/sub"
android:layout_width="132dp"
android:layout_height="50dp"
android:text="@string/activity_feedback_success_sub"
android:textAllCaps="false"
android:background="@drawable/bg_btn_feedback_success"
android:layout_marginTop="70dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView14" />
</androidx.constraintlayout.widget.ConstraintLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -82,4 +82,29 @@
<string name="edit_profile_hobby_save">完成</string>
<string name="edit_profile_hobby_cancel">退出</string>
<string name="complete_user_info_username_hint">請輸入暱稱</string>
<string name="activity_feedback_top_title">幫助與反饋</string>
<string name="activity_feedback_title">有什麼可以幫到您?</string>
<string name="activity_feedback_customer_service">智能客服</string>
<string name="activity_feedback_feedback">意見反餽</string>
<string name="activity_feedback_success_title">提交成功</string>
<string name="activity_feedback_success_tips">感謝您的反饋,我們將盡快進行處理!</string>
<string name="activity_feedback_success_sub">確定</string>
<string name="activity_feedback_edit_feedback_top">意見反饋</string>
<string name="activity_feedback_edit_feedback_title">問題描述</string>
<string name="activity_feedback_edit_feedback_hint">請描述您需要解決的問題</string>
<string name="activity_feedback_edit_feedback_img_title">問題圖片</string>
<string name="activity_feedback_edit_feedback_ci_title">聯繫方式</string>
<string name="activity_feedback_edit_feedback_ci_hint">留下您的電話或郵箱,方便我們與您聯繫</string>
<string name="activity_feedback_edit_feedback_btn">提交</string>
<string name="activity_feedback_edit_feedback_btn_tips">為必填項</string>
<string name="activity_feedback_edit_img_type1_upload">上傳圖片</string>
<string name="activity_feedback_edit_img_type2_delete">刪除</string>
<string name="activity_feedback_edit_img_type2_change">更換圖片</string>
<string name="activity_feedback_edit_submit_tip1">請描述您的問題</string>
<string name="activity_feedback_edit_submit_tip2">超過字數要求</string>
<string name="activity_feedback_edit_submit_tip3">今日反饋次數已用完</string>
<string name="activity_feedback_edit_img_select">從相冊選取</string>
<string name="activity_feedback_edit_img_camera">拍照</string>
<string name="activity_battle_pass_all_get">一鍵領取</string>
</resources>

View File

@@ -83,4 +83,29 @@
<string name="edit_profile_hobby_save">Save</string>
<string name="edit_profile_hobby_cancel">Cancel</string>
<string name="complete_user_info_username_hint">Please enter a nickname</string>
<string name="activity_feedback_top_title">Help And Feedback</string>
<string name="activity_feedback_title">May I Help You?</string>
<string name="activity_feedback_customer_service">Intelligent\nCustomer Service</string>
<string name="activity_feedback_feedback">Feedback</string>
<string name="activity_feedback_success_title">Submitted\nSuccessfully</string>
<string name="activity_feedback_success_tips">Thank you for your feedback, we will process it as soon as possible!</string>
<string name="activity_feedback_success_sub">Confirm</string>
<string name="activity_feedback_edit_feedback_top">Feedback</string>
<string name="activity_feedback_edit_feedback_title">Problem Description</string>
<string name="activity_feedback_edit_feedback_hint">Please describe the problem you need to solve</string>
<string name="activity_feedback_edit_feedback_img_title">Problem Pictures</string>
<string name="activity_feedback_edit_feedback_ci_title">Contact Information</string>
<string name="activity_feedback_edit_feedback_ci_hint">Leave Your Phone Or Email For Us To Contact You</string>
<string name="activity_feedback_edit_feedback_btn">Submit</string>
<string name="activity_feedback_edit_feedback_btn_tips">required items</string>
<string name="activity_feedback_edit_img_type1_upload">Upload images</string>
<string name="activity_feedback_edit_img_type2_delete">Delete</string>
<string name="activity_feedback_edit_img_type2_change">Replace image</string>
<string name="activity_feedback_edit_submit_tip1">Please describe your problem</string>
<string name="activity_feedback_edit_submit_tip2">Exceeding the word count requirement</string>
<string name="activity_feedback_edit_submit_tip3">Today\'s feedback count has been used up</string>
<string name="activity_feedback_edit_img_select">Select from album</string>
<string name="activity_feedback_edit_img_camera">Photo shoot</string>
<string name="activity_battle_pass_all_get">Receive all</string>
</resources>