我的装饰页banner,替换房间麦位icon,渠道推荐房号,一键登录失败跳手机登录

This commit is contained in:
oujunhui
2020-06-04 16:56:00 +08:00
parent 3f413ba8e3
commit ba5376d4c0
23 changed files with 232 additions and 31 deletions

View File

@@ -65,7 +65,6 @@ import com.yizhuan.erban.decoration.view.widgets.ShowCarGuideDialog;
import com.yizhuan.erban.family.view.activity.FamilyHomeActivity;
import com.yizhuan.erban.guide.GuideActivity;
import com.yizhuan.erban.home.dialog.RecommendRoomForNewerDialog;
import com.yizhuan.xchat_android_core.home.event.HomeDynamicEvent;
import com.yizhuan.erban.home.fragment.CommunityNoticeAct;
import com.yizhuan.erban.home.fragment.ContactsListFragment;
import com.yizhuan.erban.home.fragment.GameHomeFragment;
@@ -124,6 +123,7 @@ import com.yizhuan.xchat_android_core.community.event.SquareTaskEvent;
import com.yizhuan.xchat_android_core.community.event.UnReadCountEvent;
import com.yizhuan.xchat_android_core.community.im.WorldDynamicAttachment;
import com.yizhuan.xchat_android_core.customer_server.event.CustomerServerMsgEvent;
import com.yizhuan.xchat_android_core.home.event.HomeDynamicEvent;
import com.yizhuan.xchat_android_core.home.model.HomeModel;
import com.yizhuan.xchat_android_core.im.custom.bean.AssistantAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.CarAttachment;
@@ -318,7 +318,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
initTeamSessionCustomization();
EventBus.getDefault().register(this);
otherModelInit();
}
private void otherModelInit() {

View File

@@ -3034,7 +3034,7 @@ public class HomePartyRoomFragment extends BaseMvpFragment<IHomePartyView, HomeP
public void run() {
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
if (roomInfo == null || userInfo == null) {
if (roomInfo == null || userInfo == null || roomOwnner == null) {
return;
}
// MessageView.SpannableBuilder spannableBuilder = new MessageView.SpannableBuilder();
@@ -3054,7 +3054,7 @@ public class HomePartyRoomFragment extends BaseMvpFragment<IHomePartyView, HomeP
messageView.post(() -> {
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
if (roomInfo == null || userInfo == null) {
if (roomInfo == null || userInfo == null || roomOwnner == null) {
return;
}
RoomFollowOwnerAttachment2 roomFollowOwnerAttachment = new RoomFollowOwnerAttachment2();

View File

@@ -5,12 +5,21 @@ import android.content.Intent;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewStub;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.jude.rollviewpager.Util;
import com.jude.rollviewpager.hintview.ColorPointHintView;
import com.netease.nim.uikit.StatusBarUtil;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.opensource.svgaplayer.SVGAImageView;
import com.opensource.svgaplayer.SVGAParser;
import com.trello.rxlifecycle3.android.ActivityEvent;
@@ -20,23 +29,37 @@ import com.yizhuan.erban.databinding.ActivityMyDecorationBinding;
import com.yizhuan.erban.decoration.helper.DecorationDialogHelper;
import com.yizhuan.erban.decoration.helper.DecorationSaleType;
import com.yizhuan.erban.decoration.view.widgets.CarMagicIndicator;
import com.yizhuan.erban.home.adapter.BannerAdapter;
import com.yizhuan.erban.home.presenter.MainFragmentPresenter;
import com.yizhuan.erban.home.view.IMainFragmentView;
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator;
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil;
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator;
import com.yizhuan.xchat_android_core.Constants;
import com.yizhuan.xchat_android_core.decoration.car.CarModel;
import com.yizhuan.xchat_android_core.decoration.car.bean.CarInfo;
import com.yizhuan.xchat_android_core.home.bean.BannerInfo;
import com.yizhuan.xchat_android_core.home.bean.TabInfo;
import com.yizhuan.xchat_android_core.home.model.GameHomeModel;
import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel;
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
import com.yizhuan.xchat_android_library.utils.ListUtils;
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import io.reactivex.SingleObserver;
import io.reactivex.disposables.Disposable;
/**
* Created by yudi
* on 2018/3/1.
*/
@ActLayoutRes(R.layout.activity_my_decoration)
public class MyDecorationActivity extends BaseBindingActivity<ActivityMyDecorationBinding>
implements ICarView, View.OnClickListener, CarMagicIndicator.OnItemSelectListener {
@@ -53,6 +76,10 @@ public class MyDecorationActivity extends BaseBindingActivity<ActivityMyDecorati
private MyCarFragment mMyCarFragment;
private MyNamePlateFragment mMyNamePlateFragment;
private MagicIndicator mMagicIndicator;
/**
* 我的装饰Banner
*/
private static final String BANNER_TYPE = "3";
public static void start(Context context, int position) {
Intent intent = new Intent(context, MyDecorationActivity.class);
@@ -65,6 +92,7 @@ public class MyDecorationActivity extends BaseBindingActivity<ActivityMyDecorati
mSVGAParser = new SVGAParser(this);
mPosition = getIntent().getIntExtra(Constants.KEY_POSITION, 0);
initViews();
initBanner(BANNER_TYPE);
}
@@ -200,6 +228,76 @@ public class MyDecorationActivity extends BaseBindingActivity<ActivityMyDecorati
}
private void initBanner(String BANNER_TYPE) {
GameHomeModel.get()
.getHomeBanner(BANNER_TYPE)
.compose(bindToLifecycle())
.subscribe(new SingleObserver<List<BannerInfo>>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onSuccess(List<BannerInfo> bannerList) {
if (MarketVerifyModel.get().isMarketChecking()) {
Iterator<BannerInfo> iterator = bannerList.iterator();
while (iterator.hasNext()) {
BannerInfo bannerInfo = iterator.next();
if (bannerInfo.getSkipType() == 2) {
iterator.remove();
}
}
}
if (ListUtils.isListEmpty(bannerList)) {
mBinding.rollView.setVisibility(View.GONE);
return;
}
mBinding.rollView.setVisibility(View.VISIBLE);
ViewGroup.LayoutParams layoutParams = mBinding.rollView.getLayoutParams();
int bannerWidth = UIUtil.getScreenWidth(context) - UIUtil.dip2px(context, 40);
layoutParams.width = bannerWidth;
layoutParams.height = bannerWidth * 90 / 345;
mBinding.rollView.setLayoutParams(layoutParams);
mBinding.rollView.setHintView(new ColorPointHintView(context, Color.WHITE, context.getResources().getColor(R.color.color_66FFFFFF)) {
@Override
public Drawable makeFocusDrawable() {
GradientDrawable dotFocus = new GradientDrawable();
dotFocus.setColor(Color.WHITE);
dotFocus.setCornerRadius(Util.dip2px(getContext(), 2));
dotFocus.setSize(Util.dip2px(getContext(), 9), Util.dip2px(getContext(), 4));
return dotFocus;
}
@Override
public Drawable makeNormalDrawable() {
GradientDrawable dotNormal = new GradientDrawable();
dotNormal.setColor(context.getResources().getColor(R.color.color_66FFFFFF));
dotNormal.setCornerRadius(Util.dip2px(getContext(), 2));
dotNormal.setSize(Util.dip2px(getContext(), 4), Util.dip2px(getContext(), 4));
return dotNormal;
}
});
BannerAdapter bannerAdapter = new BannerAdapter(bannerList, context);
bannerAdapter.setRoundingRadius(ScreenUtil.dip2px(12));
mBinding.rollView.setAdapter(bannerAdapter);
mBinding.rollView.setPlayDelay(3000);
//设置透明度
mBinding.rollView.setAnimationDurtion(500);
mBinding.rollView.setVisibility(View.VISIBLE);
bannerAdapter.notifyDataSetChanged();
}
@Override
public void onError(Throwable e) {
LogUtil.e(e.getMessage());
}
});
}
public void showDetail(CarInfo carInfo) {
showCarDetail(carInfo);
}

View File

@@ -318,6 +318,11 @@ public class HomeMoreRoomActivity extends BaseMvpActivity<IMainFragmentView, Mai
ViewPagerHelper.bind(magicIndicator, viewPager);
}
@Override
public void getRoomShortcut(String data) {
}
private void openRoom() {
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
if (userInfo != null && !userInfo.isCertified()) {

View File

@@ -81,6 +81,7 @@ import com.yizhuan.xchat_android_core.user.UserModel;
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
import com.yizhuan.xchat_android_core.user.event.LoadLoginUserInfoEvent;
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
import com.yizhuan.xchat_android_core.utils.TextUtils;
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack;
import com.yizhuan.xchat_android_library.utils.ListUtils;
@@ -109,10 +110,8 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
public static final String TAG = "GameHomeFragment";
private FragmentGameHomeBinding mBinding;
//声明AMapLocationClient类对象
public AMapLocationClient mLocationClient = null;
//声明定位回调监听器
public AMapLocationListener mLocationListener = new AMapLocationListener() {
private AMapLocationListener mLocationListener = new AMapLocationListener() {
@Override
public void onLocationChanged(AMapLocation aMapLocation) {
@@ -128,7 +127,7 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
}
};
//声明AMapLocationClientOption对象
public AMapLocationClientOption mLocationOption = null;
private AMapLocationClientOption mLocationOption = null;
@NonNull
private final List<Fragment> mFragments = new ArrayList<>();
private List<Fragment> mFragmentsBottom;
@@ -268,7 +267,8 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
private void initLocation() {
//初始化定位
mLocationClient = new AMapLocationClient(getContext().getApplicationContext());
//声明AMapLocationClient类对象
AMapLocationClient mLocationClient = new AMapLocationClient(getContext().getApplicationContext());
//设置定位回调监听
mLocationClient.setLocationListener(mLocationListener);
@@ -533,6 +533,10 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
getMvpPresenter().getHomeConcerns();
}
private void getRoomShortcut(){
uiHandler.postDelayed(() -> getMvpPresenter().getRoomShortcut(),1800);
}
@Override
public void titleListSuccess(List<TagListInfo> tagListInfoList) {
@@ -658,6 +662,15 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
}
@Override
public void getRoomShortcut(String data) {
LogUtils.e("data:"+data);
if (TextUtils.isEmptyText(data)){
return;
}
AVRoomActivity.start(mContext, Long.parseLong(data));
}
/**
* 用户信息更新
*
@@ -671,11 +684,17 @@ public class GameHomeFragment extends BaseMvpFragment<IMainFragmentView, MainFra
private void refreshData() {
isUserLogin = true;
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
assert userInfo != null;
// 超管不展示开房按钮
mBinding.setOpenVisible(!(userInfo != null && userInfo.getPlatformRole() == 1));
mBinding.setOpenVisible(!(userInfo.getPlatformRole() == 1));
initRoomTitleTab();
initBanner();
getHomeConcern();
if (userInfo.getNick() != null && !TextUtils.isEmptyText(userInfo.getNick())){
getRoomShortcut();
}
}
private void initBanner() {

View File

@@ -438,4 +438,9 @@ public class MainFragment extends BaseMvpFragment<IMainFragmentView, MainFragmen
public void onGetHomeTagSuccess(List<HomeTagInfo> tagInfos) {
}
@Override
public void getRoomShortcut(String data) {
}
}

View File

@@ -665,4 +665,9 @@ public class MeFragment extends BaseMvpFragment<IMainFragmentView, MainFragmentP
}
@Override
public void getRoomShortcut(String data) {
}
}

View File

@@ -404,4 +404,14 @@ public class MainFragmentPresenter extends BaseMvpPresenter<IMainFragmentView> {
});
}
@SuppressLint("CheckResult")
public void getRoomShortcut(){
GameHomeModel.get().getRoomShortcut().compose(RxHelper.handleException())
.subscribe((result, throwable) -> {
if (mMvpView != null) {
mMvpView.getRoomShortcut(result);
}
});
}
}

View File

@@ -102,6 +102,11 @@ public interface IMainFragmentView extends IMvpBaseView {
public void onGetHomeTagSuccess(List<HomeTagInfo> tagInfos) {
}
@Override
public void getRoomShortcut(String data) {
}
}
void titleListSuccess(List<TagListInfo> tagListInfoList);
@@ -121,5 +126,6 @@ public interface IMainFragmentView extends IMvpBaseView {
void onGetHomeTagSuccess(List<HomeTagInfo> tagInfos);
void getRoomShortcut(String data);
}

View File

@@ -103,14 +103,18 @@ public class AddBlackListActivity extends BaseMvpActivity<IAddBlackListView, Add
public void onClick(View v) {
if (v.getId() == R.id.rl_content) {
if (!TextUtils.isEmpty(account))
UserInfoActivity.Companion.start(this, Long.valueOf(account));
UserInfoActivity.Companion.start(this, Long.parseLong(account));
} else if (v.getId() == R.id.tv_add_black_list) {
boolean contains = NimFriendModel.get().getMyBlackListAccount().contains(account);
if (!contains)
ensureAddToBlackList();
else
ensureRemoveFromBlackList();
try {
boolean contains = NimFriendModel.get().getMyBlackListAccount().contains(account);
if (!contains){
ensureAddToBlackList();
} else{
ensureRemoveFromBlackList();
}
} catch (Exception e) {
e.printStackTrace();
}
} else if (v.getId() == R.id.iv_back) {
finish();
} else if (v.getId() == R.id.tv_report) {

View File

@@ -382,10 +382,14 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
mBinding.rvDynamic.setAdapter(dynamicAdapter);
}
/**
* 相册
*/
private void initPhoto(List<UserDetailInfo.DataBean.PrivatePhotoBean> list){
TextHintView hintView = new TextHintView(this);
hintView.setBackground(getResources().getDrawable(R.drawable.bg_userinfo_photo_hintview));
hintView.setTextSize(SizeUtils.dp2px(this,4));
hintView.setTextColor(getResources().getColor(R.color.blue));
mBinding.rollView.setHintView(hintView);
UserInfoPhotoAdapter bannerAdapter = new UserInfoPhotoAdapter(list, this);
mBinding.rollView.setAdapter(bannerAdapter);
@@ -416,6 +420,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
}
private void initNestScrollView() {
mBinding.scrollView.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
if (flag == 0 && oldScrollY > SizeUtils.dp2px(this,200)) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -4,6 +4,6 @@
<solid android:color="@color/color_EFEBFF"/>
<corners android:radius="2.5dp"/>
<corners android:radius="10dp"/>
</shape>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_66000000" />
<solid android:color="@color/white" />
<corners android:topLeftRadius="@dimen/dp_8"
android:topRightRadius="@dimen/dp_2"
android:bottomLeftRadius="@dimen/dp_8"

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
@@ -37,11 +38,35 @@
android:textSize="18dp" />
</androidx.appcompat.widget.Toolbar>
<FrameLayout
android:id="@+id/fl_roll_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:layout_constraintEnd_toEndOf="parent"
android:layout_below="@+id/toolbar"
>
<com.jude.rollviewpager.RollPagerView
android:id="@+id/roll_view"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
app:rollviewpager_hint_gravity="left"
android:visibility="gone"
tools:visibility="visible"
app:rollviewpager_hint_paddingBottom="8dp"
/>
</FrameLayout>
<com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator
android:id="@+id/view_indicator"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_below="@+id/toolbar" />
android:layout_marginTop="@dimen/dp_10"
android:layout_below="@+id/fl_roll_view" />
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewpager"

View File

@@ -90,8 +90,7 @@
android:id="@+id/ll_level"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:layout_marginTop="@dimen/dp_2"
app:layout_constraintTop_toBottomOf="@id/tv_nick"
android:orientation="horizontal">
@@ -143,7 +142,7 @@
app:layout_constraintTop_toBottomOf="@id/ll_level"
app:layout_constraintStart_toStartOf="parent"
android:gravity="center_vertical"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_7"
android:orientation="horizontal">
<ImageView
@@ -203,7 +202,8 @@
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/ll_id"
android:textSize="@dimen/dp_11"
android:paddingTop="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_12"
android:paddingBottom="@dimen/dp_2"
android:lines="1"
android:ellipsize="end"
android:textColor="@color/color_666666"
@@ -335,6 +335,7 @@
android:layout_centerVertical="true"
android:textColor="@color/color_999999"
android:visibility="gone"
android:textSize="@dimen/sp_13"
android:text="编辑"
/>

View File

@@ -17,7 +17,7 @@
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/transparent" />
android:background="#00000000" />
<ImageView
android:id="@+id/iv_close"

View File

@@ -182,6 +182,8 @@
android:layout_height="80dp"
android:layout_marginStart="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_15"
android:visibility="gone"
tools:visibility="visible"
app:rollviewpager_hint_gravity="left"
app:rollviewpager_hint_paddingBottom="8dp"
/>
@@ -210,10 +212,10 @@
<!-- </com.google.android.material.appbar.AppBarLayout>-->
<com.yizhuan.erban.ui.widget.ContentWrapViewPager
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="900dp"
app:layout_constraintBottom_toTopOf="@+id/view"
app:layout_constraintTop_toBottomOf="@id/fl_indicator"
/>

View File

@@ -22,7 +22,6 @@
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
tools:text="20"
android:textColor="@color/appColor"
android:textSize="@dimen/sp_10"

View File

@@ -20,8 +20,9 @@
<View
android:layout_gravity="bottom|center_horizontal"
android:layout_width="30dp"
android:layout_width="18dp"
android:layout_height="5dp"
android:layout_marginTop="@dimen/dp_10"
android:background="@drawable/bg_e6e6e6_0_2_5" />
</FrameLayout>

View File

@@ -168,7 +168,7 @@ public class QuickPassLoginAct extends BaseLoginAct implements View.OnClickListe
toast("一键登录失败,请使用其他方式登录");
getDialogManager().dismissDialog();
//跳转到手机登录页
// LoginPhoneActivity.startForResult(QuickPassLoginAct.this, quickPassRequestCode);
LoginPhoneActivity.startForResult(QuickPassLoginAct.this, quickPassRequestCode);
}
});
}

View File

@@ -82,6 +82,14 @@ public class GameHomeModel extends BaseModel {
.compose(RxHelper.handleSchedulers());
}
public Single<String> getRoomShortcut(){
return api.apiRoomShortcut(String.valueOf(AuthModel.get().getCurrentUid()),
CommunityConstant.VERSION_VALID_TYPE,
AuthModel.get().getTicket())
.compose(RxHelper.handleBeanData())
.compose(RxHelper.handleSchedulers());
}
private static final class Helper {
public static final GameHomeModel INSTANCE = new GameHomeModel();
@@ -190,7 +198,16 @@ public class GameHomeModel extends BaseModel {
@Query("uid") String uid,
@Query("types") String types,
@Query("ticket") String ticket);
@GET("/room/shortcut/recommend")
Single<ServiceResult<String>> apiRoomShortcut(
@Query("uid") String uid,
@Query("types") String types,
@Query("ticket") String ticket
);
}
}