新增通过后端获取国家地区信息接口

调整送联系方式礼物时,不选择其他礼物
调整联系方式礼物接口
调整在模拟器超大分辨率模式下,信箱ui异常问题
This commit is contained in:
2023-04-03 13:28:35 +08:00
parent f55e1b9c05
commit 73c8db8fb4
23 changed files with 395 additions and 99 deletions

View File

@@ -6,6 +6,10 @@ import android.app.Dialog;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Shader;
import android.view.ViewTreeObserver;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -15,6 +19,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.lxj.xpopup.XPopup;
import com.makeramen.roundedimageview.RoundedImageView;
import com.pdlive.shayu.R;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.dialog.AbsDialogPopupWindow;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.ToastUtil;
@@ -31,12 +36,14 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
private RoundedImageView avatar;
private TextView info;
private TextView link;
private TextView title;
private List<ShareBuilder> data;
private String uid;
private String anchorId;
private String anchorName;
private String anchorAvatar;
private String url;
public InvitePopDialog(@NonNull Context context) {
super(context);
@@ -78,11 +85,9 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
super.onCreate();
findViewById(R.id.close).setOnClickListener(v -> dismiss());
findViewById(R.id.share_copy).setOnClickListener(v -> copyLink());
findViewById(R.id.share_title).setOnClickListener(v -> copyLink());
findViewById(R.id.share_preview).setVisibility(GONE);
// findViewById(R.id.share_preview).setVisibility(GONE);
findViewById(R.id.share_dialog).setBackgroundResource(R.mipmap.bg_dialog_inviet);
((TextView) findViewById(R.id.share_title)).setText(R.string.dialog_invite_title);
((TextView) findViewById(R.id.share_title)).setTextColor(R.drawable.bg_invite_title);
title = findViewById(R.id.share_title);
list = findViewById(R.id.share_apps_list);
avatar = findViewById(R.id.share_avatar);
info = findViewById(R.id.share_info);
@@ -91,6 +96,28 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
list.setLayoutManager(new GridLayoutManager(getContext(), 3));
list.setAdapter(adapter);
initData();
link.setText(url.substring(0, 40));
info.setText(R.string.dialog_invite_info);
avatar.setImageResource(R.mipmap.ic_launcher);
//title.setTextColor(getContext().getResources().getColorStateList(R.drawable.bg_invite_title));
title.setText(R.string.dialog_invite_title);
title.setOnClickListener(v -> copyLink());
title.getViewTreeObserver().addOnGlobalLayoutListener(this::setTitleColor);
}
private void setTitleColor() {
int[] colors = {
Color.parseColor("#3377FF"),
Color.parseColor("#7F66FF"),
};
float[] position = {
0f,
1.0f
};
float height = title.getMeasuredHeight();
LinearGradient mLinearGradient = new LinearGradient(0, 0, 0, height, colors, position, Shader.TileMode.CLAMP);
title.getPaint().setShader(mLinearGradient);
title.invalidate();
}
private void initData() {
@@ -100,15 +127,15 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
data.add(builder(ShareBuilder.APP_TWITTER));
data.add(builder(ShareBuilder.APP_WHATSAPP));
data.add(builder(ShareBuilder.APP_MESSENGER));
// data.add(builder(ShareBuilder.APP_INSTAGRAM));
// data.add(builder(ShareBuilder.APP_INSTAGRAM));
adapter.setList(data);
}
private ShareBuilder builder(int type) {
ShareBuilder builder = ShareBuilder.builder(type);
//builder.setText(WordUtil.getString(R.string.dialog_share_info));
builder.setLink(ShareBuilder.createInviteLink(uid));
builder.setText(WordUtil.getString(R.string.dialog_share_info));
builder.setLink(url);
builder.setUid(uid);
builder.setAnchorId(anchorId);
builder.setAnchorName(anchorName);
@@ -118,14 +145,19 @@ public class InvitePopDialog extends AbsDialogPopupWindow {
private void copyLink() {
ClipboardManager cm = (ClipboardManager) getContext().getSystemService(CLIPBOARD_SERVICE);
ClipData clipData = ClipData.newPlainText("text", link.getText().toString());
ClipData clipData = ClipData.newPlainText("text", url);
cm.setPrimaryClip(clipData);
ToastUtil.show(WordUtil.getString(com.yunbao.common.R.string.copy_success));
DialogUitl.showSimpleDialog(getContext(), ShareBuilder.createInviteLink(uid), new DialogUitl.SimpleCallback() {
DialogUitl.showSimpleDialog(getContext(),url, new DialogUitl.SimpleCallback() {
@Override
public void onConfirmClick(Dialog dialog, String content) {
dialog.dismiss();
}
});
}
public InvitePopDialog setUrl(String data) {
this.url = data+"&isGoogle="+ (CommonAppConfig.IS_GOOGLE_PLAY ? "1" : "0");
return this;
}
}