|
@@ -17,6 +17,7 @@ import android.widget.Button;
|
|
import android.widget.EditText;
|
|
import android.widget.EditText;
|
|
import android.widget.TextView;
|
|
import android.widget.TextView;
|
|
|
|
|
|
|
|
+import androidx.appcompat.app.AppCompatActivity;
|
|
import androidx.fragment.app.FragmentManager;
|
|
import androidx.fragment.app.FragmentManager;
|
|
import androidx.fragment.app.FragmentPagerAdapter;
|
|
import androidx.fragment.app.FragmentPagerAdapter;
|
|
import androidx.viewpager.widget.ViewPager;
|
|
import androidx.viewpager.widget.ViewPager;
|
|
@@ -24,11 +25,16 @@ import androidx.viewpager.widget.ViewPager;
|
|
import com.google.android.material.tabs.TabLayout;
|
|
import com.google.android.material.tabs.TabLayout;
|
|
import com.jixin.im.AppConstant;
|
|
import com.jixin.im.AppConstant;
|
|
import com.jixin.im.R;
|
|
import com.jixin.im.R;
|
|
|
|
+import com.jixin.im.bean.ChatType;
|
|
import com.jixin.im.bean.message.ChatMessage;
|
|
import com.jixin.im.bean.message.ChatMessage;
|
|
import com.jixin.im.bean.message.XmppMessage;
|
|
import com.jixin.im.bean.message.XmppMessage;
|
|
import com.jixin.im.bean.redpacket.RedPacket;
|
|
import com.jixin.im.bean.redpacket.RedPacket;
|
|
import com.jixin.im.db.InternationalizationHelper;
|
|
import com.jixin.im.db.InternationalizationHelper;
|
|
|
|
+import com.jixin.im.fragment.BaseRedPacketFragment;
|
|
|
|
+import com.jixin.im.fragment.ExclusiveRedPacketFragment;
|
|
import com.jixin.im.fragment.MucSendPacketFragment;
|
|
import com.jixin.im.fragment.MucSendPacketFragment;
|
|
|
|
+import com.jixin.im.fragment.NormalRedPacketFragment;
|
|
|
|
+import com.jixin.im.fragment.PasswordRedPacketFragment;
|
|
import com.jixin.im.helper.DialogHelper;
|
|
import com.jixin.im.helper.DialogHelper;
|
|
import com.jixin.im.helper.PaySecureHelper;
|
|
import com.jixin.im.helper.PaySecureHelper;
|
|
import com.jixin.im.ui.base.BaseActivity;
|
|
import com.jixin.im.ui.base.BaseActivity;
|
|
@@ -54,15 +60,17 @@ import okhttp3.Call;
|
|
|
|
|
|
/**
|
|
/**
|
|
* Created by 魏正旺 on 2016/9/9.
|
|
* Created by 魏正旺 on 2016/9/9.
|
|
|
|
+ * Modify by Harvey on 2020/09/17
|
|
*/
|
|
*/
|
|
-public class SendRedPacketActivity extends BaseActivity {
|
|
|
|
|
|
+public class SendRedPacketActivity extends BaseActivity {
|
|
|
|
+ private String mChatType;
|
|
|
|
|
|
private TabLayout mTabRedPacket;
|
|
private TabLayout mTabRedPacket;
|
|
private ViewPager viewPager;
|
|
private ViewPager viewPager;
|
|
private String roomId;
|
|
private String roomId;
|
|
|
|
|
|
|
|
|
|
- private List<EasyFragment> mFragmentList;
|
|
|
|
|
|
+ private List<BaseRedPacketFragment> mFragmentList;
|
|
private TabFragmentPagerAdapter mPagerAdapter;
|
|
private TabFragmentPagerAdapter mPagerAdapter;
|
|
|
|
|
|
|
|
|
|
@@ -71,20 +79,50 @@ public class SendRedPacketActivity extends BaseActivity {
|
|
super.onCreate(savedInstanceState);
|
|
super.onCreate(savedInstanceState);
|
|
|
|
|
|
setContentView(R.layout.activity_redpacket);
|
|
setContentView(R.layout.activity_redpacket);
|
|
- roomId = getIntent().getStringExtra("roomId");
|
|
|
|
|
|
+ initData();
|
|
|
|
+
|
|
initView();
|
|
initView();
|
|
|
|
|
|
checkHasPayPassword();
|
|
checkHasPayPassword();
|
|
}
|
|
}
|
|
|
|
|
|
- private void checkHasPayPassword() {
|
|
|
|
- boolean hasPayPassword = PreferenceUtils.getBoolean(this, Constants.IS_PAY_PASSWORD_SET + coreManager.getSelf().getUserId(), true);
|
|
|
|
- if (!hasPayPassword) {
|
|
|
|
- ToastUtil.showToast(this, R.string.tip_no_pay_password);
|
|
|
|
- Intent intent = new Intent(this, ChangePayPasswordActivity.class);
|
|
|
|
- startActivity(intent);
|
|
|
|
- finish();
|
|
|
|
|
|
+ private void initData() {
|
|
|
|
+ Intent intent = getIntent();
|
|
|
|
+ if (intent != null) {
|
|
|
|
+ roomId = getIntent().getStringExtra("roomId");
|
|
|
|
+ mChatType = intent.getStringExtra(ChatType.INTENT_CHAT_TYPE);
|
|
|
|
+ if (!TextUtils.isEmpty(roomId)) {
|
|
|
|
+ mChatType = ChatType.CHAT_GROUP;
|
|
|
|
+ }else {
|
|
|
|
+ mChatType = ChatType.CHAT_PRIVATE;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ mFragmentList = new ArrayList<>();
|
|
|
|
+ BaseRedPacketFragment normalFragment = new NormalRedPacketFragment(roomId);
|
|
|
|
+ mFragmentList.add(normalFragment);
|
|
|
|
+ BaseRedPacketFragment passwordFragment = new PasswordRedPacketFragment(roomId);
|
|
|
|
+ mFragmentList.add(passwordFragment);
|
|
|
|
+ if (isGroupChatType()) {
|
|
|
|
+ BaseRedPacketFragment exclusiveFragment = new ExclusiveRedPacketFragment(roomId);
|
|
|
|
+ mFragmentList.add(exclusiveFragment);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private boolean isGroupChatType() {
|
|
|
|
+ return ChatType.isGroupChatType(mChatType);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void checkHasPayPassword() {
|
|
|
|
+// boolean hasPayPassword = PreferenceUtils.getBoolean(this, Constants.IS_PAY_PASSWORD_SET + coreManager.getSelf().getUserId(), true);
|
|
|
|
+// if (!hasPayPassword) {
|
|
|
|
+// ToastUtil.showToast(this, R.string.tip_no_pay_password);
|
|
|
|
+// Intent intent = new Intent(this, ChangePayPasswordActivity.class);
|
|
|
|
+// startActivity(intent);
|
|
|
|
+// finish();
|
|
|
|
+// }
|
|
}
|
|
}
|
|
|
|
|
|
private void initView() {
|
|
private void initView() {
|
|
@@ -94,37 +132,33 @@ public class SendRedPacketActivity extends BaseActivity {
|
|
TextView tvTitle = (TextView) findViewById(R.id.tv_title_center);
|
|
TextView tvTitle = (TextView) findViewById(R.id.tv_title_center);
|
|
tvTitle.setText(InternationalizationHelper.getString("JX_SendGift"));
|
|
tvTitle.setText(InternationalizationHelper.getString("JX_SendGift"));
|
|
tvTitle.setTextColor(getResources().getColor(R.color.white));
|
|
tvTitle.setTextColor(getResources().getColor(R.color.white));
|
|
- mFragmentList = new ArrayList<>();
|
|
|
|
mTabRedPacket = findViewById(R.id.tab_red_packet);
|
|
mTabRedPacket = findViewById(R.id.tab_red_packet);
|
|
- viewPager = findViewById(R.id.muc_viewpager);
|
|
|
|
|
|
+ viewPager = findViewById(R.id.muc_viewpager);
|
|
|
|
+ mPagerAdapter =new TabFragmentPagerAdapter(getSupportFragmentManager(),mFragmentList);
|
|
initTabLayout();
|
|
initTabLayout();
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- private void initFragment(){
|
|
|
|
- MucSendPacketFragment luckFragment = new MucSendPacketFragment();
|
|
|
|
- luckFragment.setRedPacketType(2);
|
|
|
|
- luckFragment.setRoomId(roomId);
|
|
|
|
- mFragmentList.add(luckFragment);
|
|
|
|
- MucSendPacketFragment normalFragment = new MucSendPacketFragment();
|
|
|
|
- normalFragment.setRedPacketType(1);
|
|
|
|
- normalFragment.setRoomId(roomId);
|
|
|
|
- mFragmentList.add(normalFragment);
|
|
|
|
- mPagerAdapter = new TabFragmentPagerAdapter(getSupportFragmentManager(),mFragmentList);
|
|
|
|
|
|
+ private void initFragment() {
|
|
viewPager.setAdapter(mPagerAdapter);
|
|
viewPager.setAdapter(mPagerAdapter);
|
|
viewPager.setOffscreenPageLimit(mFragmentList.size());
|
|
viewPager.setOffscreenPageLimit(mFragmentList.size());
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- private void initTabLayout(){
|
|
|
|
|
|
+ private void initTabLayout() {
|
|
initFragment();
|
|
initFragment();
|
|
|
|
|
|
mTabRedPacket.setupWithViewPager(viewPager);
|
|
mTabRedPacket.setupWithViewPager(viewPager);
|
|
mTabRedPacket.removeAllTabs();
|
|
mTabRedPacket.removeAllTabs();
|
|
|
|
+
|
|
|
|
+
|
|
// TabLayout.Tab tab = mTabRedPacket.newTab().setText("普通红包");
|
|
// TabLayout.Tab tab = mTabRedPacket.newTab().setText("普通红包");
|
|
|
|
|
|
- mTabRedPacket.addTab( mTabRedPacket.newTab().setText(InternationalizationHelper.getString("JX_LuckGift")));//手气红包
|
|
|
|
- mTabRedPacket.addTab( mTabRedPacket.newTab().setText(InternationalizationHelper.getString("JX_UsualGift")));//普通红包
|
|
|
|
|
|
+ mTabRedPacket.addTab(mTabRedPacket.newTab().setText("普通"));//普通红包
|
|
|
|
+ mTabRedPacket.addTab(mTabRedPacket.newTab().setText("口令"));//口令红包
|
|
|
|
+ if (isGroupChatType()){
|
|
|
|
+ mTabRedPacket.addTab(mTabRedPacket.newTab().setText("专属"));//专属红包
|
|
|
|
+ }
|
|
mTabRedPacket.setTabIndicatorFullWidth(false);
|
|
mTabRedPacket.setTabIndicatorFullWidth(false);
|
|
mTabRedPacket.setInlineLabel(true);
|
|
mTabRedPacket.setInlineLabel(true);
|
|
mTabRedPacket.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
|
|
mTabRedPacket.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
|
|
@@ -147,11 +181,11 @@ public class SendRedPacketActivity extends BaseActivity {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
private class TabFragmentPagerAdapter extends FragmentPagerAdapter {
|
|
private class TabFragmentPagerAdapter extends FragmentPagerAdapter {
|
|
|
|
|
|
- private List<EasyFragment> mFragmentList;
|
|
|
|
- public TabFragmentPagerAdapter(FragmentManager fm, List<EasyFragment> list) {
|
|
|
|
|
|
+ private List<BaseRedPacketFragment> mFragmentList;
|
|
|
|
+
|
|
|
|
+ public TabFragmentPagerAdapter(FragmentManager fm, List<BaseRedPacketFragment> list) {
|
|
super(fm);
|
|
super(fm);
|
|
this.mFragmentList = list;
|
|
this.mFragmentList = list;
|
|
}
|
|
}
|
|
@@ -162,7 +196,7 @@ public class SendRedPacketActivity extends BaseActivity {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public EasyFragment getItem(int position) {
|
|
|
|
|
|
+ public BaseRedPacketFragment getItem(int position) {
|
|
return mFragmentList.get(position);//显示第几个页面
|
|
return mFragmentList.get(position);//显示第几个页面
|
|
}
|
|
}
|
|
|
|
|