Commit 91327705 authored by maxiaoliang's avatar maxiaoliang

添加首页bannaer位置

parent 5bb4faff
package com.zxhl.shop.activity; package com.zxhl.shop.activity
import android.annotation.SuppressLint; import android.annotation.SuppressLint
import android.content.Intent; import android.content.Intent
import android.os.Bundle; import android.os.Bundle
import android.util.Log; import android.text.TextUtils
import android.view.View; import android.view.View
import android.widget.ImageView; import android.widget.ImageView
import androidx.fragment.app.Fragment
import androidx.annotation.NonNull; import androidx.fragment.app.FragmentTransaction
import androidx.annotation.Nullable; import com.bumptech.glide.Glide
import androidx.fragment.app.Fragment; import com.umeng.analytics.MobclickAgent
import androidx.fragment.app.FragmentTransaction; import com.umeng.socialize.UMShareAPI
import com.zxbw.modulemain.fragment.CashCheckFragment
import com.umeng.analytics.MobclickAgent; import com.zxbw.modulemain.fragment.HomeFragment
import com.umeng.socialize.UMShareAPI; import com.zxbw.modulemain.fragment.ShoppingMallFragment
import com.zxbw.modulemain.fragment.CashCheckFragment; import com.zxbw.modulemain.fragment.UserCenterFragment
import com.zxbw.modulemain.fragment.HomeFragment; import com.zxbw.modulemain.view.NavigationBottomView
import com.zxbw.modulemain.fragment.ShoppingMallFragment; import com.zxbw.modulemain.view.NavigationBottomView.NavifationCallback
import com.zxbw.modulemain.fragment.UserCenterFragment; import com.zxhl.cms.AppContext
import com.zxbw.modulemain.view.NavigationBottomView; import com.zxhl.cms.common.Constant
import com.zxhl.cms.utils.ClipboardManagerUtil; import com.zxhl.cms.common.base.BaseActivity
import com.zxhl.shop.R; import com.zxhl.cms.net.ApiClient
import com.zxhl.cms.AppContext; import com.zxhl.cms.net.ApiClient.homeApi
import com.zxhl.cms.common.Constant; import com.zxhl.cms.net.ApiClient.userInfoAPi
import com.zxhl.cms.common.base.BaseActivity; import com.zxhl.cms.net.RxSchedulers
import com.zxhl.cms.net.ApiClient; import com.zxhl.cms.net.SettingPreference
import com.zxhl.cms.net.RxSchedulers; import com.zxhl.cms.net.callback.BaseObserver
import com.zxhl.cms.net.SettingPreference; import com.zxhl.cms.net.model.uc.UserInfo
import com.zxhl.cms.net.callback.BaseObserver; import com.zxhl.cms.net.model.video.HomeAdEntity
import com.zxhl.cms.net.model.uc.UserInfo; import com.zxhl.cms.utils.*
import com.zxhl.cms.utils.EventUtils; import com.zxhl.cms.utils.ClipboardManagerUtil.getTbLink
import com.zxhl.cms.utils.JumpUtils; import com.zxhl.cms.utils.EventUtils.onEvent
import com.zxhl.cms.utils.RxBus; import com.zxhl.cms.utils.UserDataUtils.updateUserInfo
import com.zxhl.cms.utils.UserDataUtils; import com.zxhl.cms.widget.LoadingDialog
import com.zxhl.cms.utils.Utils; import com.zxhl.shop.R
import com.zxhl.cms.widget.LoadingDialog; import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import java.util.ArrayList; import java.util.*
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
/** /**
* Copyright @ 2018 Bitgoose All rights reserved. * Copyright @ 2018 Bitgoose All rights reserved.
...@@ -51,249 +46,233 @@ import io.reactivex.functions.Consumer; ...@@ -51,249 +46,233 @@ import io.reactivex.functions.Consumer;
* @author: fuxin * @author: fuxin
* @date: 2019/3/15 下午2:19 * @date: 2019/3/15 下午2:19
*/ */
public class MainActivity extends BaseActivity implements NavigationBottomView.NavifationCallback/*, IDialogCloseCallback, MemberContract.View*/ { class MainActivity : BaseActivity(),
NavifationCallback /*, IDialogCloseCallback, MemberContract.View*/ {
private List<Fragment> fragments = new ArrayList<>(); private val fragments: MutableList<Fragment> = ArrayList()
private NavigationBottomView navigationView; private var navigationView: NavigationBottomView? = null
private LoadingDialog mLoading; private var mLoading: LoadingDialog? = null
private Observable<String> mRestartLoginObservable; private var mRestartLoginObservable: Observable<String>? = null
private Observable<Integer> mSwitchMainObservable; private var mSwitchMainObservable: Observable<Int>? = null
private ImageView adview; private var adview: ImageView? = null
@Override override fun layoutID(): Int {
public int layoutID() { return R.layout.activity_main
return R.layout.activity_main;
} }
@Override override fun before() {
public void before() { super.before()
super.before(); setStatusBarBackground(AppContext.get().resources.getColor(R.color.transparent))
setStatusBarBackground(AppContext.get().getResources().getColor(R.color.transparent));
} }
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
@Override override fun init() {
public void init() {
mLoading = LoadingDialog.getLoadingDialog( mLoading = LoadingDialog.getLoadingDialog(
this, this,
getString(com.zxhl.cms.R.string.wait_ing), getString(com.zxhl.cms.R.string.wait_ing),
false, false,
false false
); )
navigationView = findViewById(R.id.id_activity_main_fragment_navigation); getAdinfo()
adview=findViewById(R.id.id_img_fly_ad); navigationView = findViewById(R.id.id_activity_main_fragment_navigation)
initListener(); adview = findViewById(R.id.id_img_fly_ad)
mRestartLoginObservable = RxBus.get().register(Constant.REFRESH_LOGIN_STATS, String.class); adview?.setOnClickListener {
mRestartLoginObservable.observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<String>() { if(!TextUtils.isEmpty(clickUrl)){
@Override onEvent("ad_click",""+clickid)
public void accept(String s) throws Exception { JumpUtils.webJump(adName, clickUrl)
JumpUtils.loginJump();
} }
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
} }
}); initListener()
initFragment(); mRestartLoginObservable =
mSwitchMainObservable = RxBus.get().register(Constant.SWITCH_PAGE, Integer.class); RxBus.get().register(Constant.REFRESH_LOGIN_STATS, String::class.java)
mSwitchMainObservable.observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer<Integer>() { mRestartLoginObservable!!.observeOn(AndroidSchedulers.mainThread())
@Override .subscribe({ JumpUtils.loginJump() }) { }
public void accept(Integer s) throws Exception { initFragment()
switchFragment(s); mSwitchMainObservable = RxBus.get().register(Constant.SWITCH_PAGE, Int::class.java)
} mSwitchMainObservable!!.observeOn(AndroidSchedulers.mainThread())
}, new Consumer<Throwable>() { .subscribe({ s -> switchFragment(s) }) { }
@Override val firstLoginApp = SettingPreference.getFirstLoginApp()
public void accept(Throwable throwable) throws Exception {
}
});
boolean firstLoginApp = SettingPreference.getFirstLoginApp();
if (firstLoginApp) { if (firstLoginApp) {
UserInfo userInfoData = SettingPreference.getUserInfoData(); val userInfoData = SettingPreference.getUserInfoData()
if (userInfoData != null && userInfoData.member != null) { if (userInfoData != null && userInfoData.member != null) {
Constant.Switch.isOpenVip = userInfoData.member; Constant.Switch.isOpenVip = userInfoData.member
if (!userInfoData.member) { if (!userInfoData.member) {
SettingPreference.setFirstLoginApp(); SettingPreference.setFirstLoginApp()
JumpUtils.OpenMember(); JumpUtils.OpenMember()
} }
} }
} }
} }
private void initListener() { private fun initListener() {
navigationView.setNavifationCallback(this); navigationView!!.setNavifationCallback(this)
} }
private void initFragment() { private fun initFragment() {
fragments.add(new HomeFragment()); fragments.add(HomeFragment())
fragments.add(new ShoppingMallFragment()); fragments.add(ShoppingMallFragment())
fragments.add(new CashCheckFragment()); fragments.add(CashCheckFragment())
fragments.add(new UserCenterFragment()); fragments.add(UserCenterFragment())
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); val transaction = supportFragmentManager.beginTransaction()
for (Fragment fragment : fragments) { for (fragment in fragments) {
transaction.add(R.id.id_activity_main_fragment_layout, fragment); transaction.add(R.id.id_activity_main_fragment_layout, fragment)
} }
hideFragment(transaction); hideFragment(transaction)
transaction.show(fragments.get(0)).commit(); transaction.show(fragments[0]).commit()
EventUtils.INSTANCE.onEvent("tab_imp", "home"); onEvent("tab_imp", "home")
} }
private void switchFragment(int index) { private fun switchFragment(index: Int) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); getAdinfo()
hideFragment(transaction); val transaction = supportFragmentManager.beginTransaction()
transaction.show(fragments.get(index)).commitAllowingStateLoss(); hideFragment(transaction)
getSupportFragmentManager().executePendingTransactions(); transaction.show(fragments[index]).commitAllowingStateLoss()
supportFragmentManager.executePendingTransactions()
} }
private void switchFragment(Fragment fragment) { private fun switchFragment(fragment: Fragment) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); val transaction = supportFragmentManager.beginTransaction()
hideFragment(transaction); hideFragment(transaction)
transaction.show(fragment).commit(); transaction.show(fragment).commit()
} }
private void hideFragment(FragmentTransaction transaction) { private fun hideFragment(transaction: FragmentTransaction) {
for (Fragment fragment : fragments) { for (fragment in fragments) {
transaction.hide(fragment); transaction.hide(fragment)
} }
} }
@Override override fun onClick(v: View) {}
public void onClick(View v) { override fun onNavigationClick(vId: Int) {
}
@Override
public void onNavigationClick(int vId) {
if (vId == com.zxbw.modulemain.R.id.id_view_navigation_bottom_box) { if (vId == com.zxbw.modulemain.R.id.id_view_navigation_bottom_box) {
switchFragment(0); switchFragment(0)
EventUtils.INSTANCE.onEvent("tab_imp", "home"); onEvent("tab_imp", "home")
} else if (vId == com.zxbw.modulemain.R.id.id_view_navigation_bottom_shop) { } else if (vId == com.zxbw.modulemain.R.id.id_view_navigation_bottom_shop) {
switchFragment(1); switchFragment(1)
EventUtils.INSTANCE.onEvent("tab_imp", "shop"); onEvent("tab_imp", "shop")
} else if (vId == com.zxbw.modulemain.R.id.id_view_navigation_bottom_cash) { } else if (vId == com.zxbw.modulemain.R.id.id_view_navigation_bottom_cash) {
switchFragment(2); switchFragment(2)
EventUtils.INSTANCE.onEvent("tab_imp", "cash_check"); onEvent("tab_imp", "cash_check")
} }
if (vId == com.zxbw.modulemain.R.id.id_view_navigation_bottom_user) { if (vId == com.zxbw.modulemain.R.id.id_view_navigation_bottom_user) {
switchFragment(3); switchFragment(3)
EventUtils.INSTANCE.onEvent("tab_imp", "user"); onEvent("tab_imp", "user")
} }
} }
private boolean mPrepareExit = false; private var mPrepareExit = false
override fun onBackPressed() {
@Override exitBy2Click()
public void onBackPressed() {
exitBy2Click();
} }
private void exitBy2Click() { private fun exitBy2Click() {
if (!mPrepareExit) { if (!mPrepareExit) {
mPrepareExit = true;// 准备退出 mPrepareExit = true // 准备退出
Utils.showToast(this, getResources().getString(R.string.nav_back_again_finish)); Utils.showToast(this, resources.getString(R.string.nav_back_again_finish))
navigationView.postDelayed(new Runnable() { navigationView!!.postDelayed({
@Override mPrepareExit = false // 取消退出
public void run() { }, 1500)
mPrepareExit = false;// 取消退出
}
}, 1500);
} else { } else {
EventUtils.INSTANCE.onEvent("double_exit", "双击退出"); onEvent("double_exit", "双击退出")
exitActivity(); exitActivity()
// closeApp(); // closeApp();
} }
} }
private void exitActivity() { private fun exitActivity() {
Utils.onExit(this); Utils.onExit(this)
} }
@Override override fun onResume() {
protected void onResume() { super.onResume()
super.onResume(); MobclickAgent.onResume(this)
MobclickAgent.onResume(this); val userInfoData = SettingPreference.getUserInfoData()
UserInfo userInfoData = SettingPreference.getUserInfoData();
if (userInfoData != null && userInfoData.member != null) { if (userInfoData != null && userInfoData.member != null) {
Constant.Switch.isOpenVip = userInfoData.member; Constant.Switch.isOpenVip = userInfoData.member
} }
ClipboardManagerUtil.INSTANCE.getTbLink(this); getTbLink(this)
} }
override fun onPause() {
@Override super.onPause()
protected void onPause() { MobclickAgent.onPause(this)
super.onPause();
MobclickAgent.onPause(this);
} }
private void deviceLogin() { private fun deviceLogin() {
ApiClient.INSTANCE.getUserInfoAPi().deviceLogin().compose(RxSchedulers.observableIO2Main()).subscribe(new BaseObserver<UserInfo>() { userInfoAPi.deviceLogin().compose(RxSchedulers.observableIO2Main())
@Override .subscribe(object : BaseObserver<UserInfo?>() {
public void onSuccess(UserInfo result) {
if (result != null) { override fun onSuccess(result: UserInfo?) {
SettingPreference.saveToken(result.token); if (result != null) {
UserDataUtils.INSTANCE.updateUserInfo(null); SettingPreference.saveToken(result.token)
updateUserInfo(null)
}
} }
}
@Override override fun onFailure(e: Throwable, code: String, errorMsg: String) {}
public void onFailure(Throwable e, String code, String errorMsg) {
} })
});
} }
private void closeApp() { private fun closeApp() {
ApiClient.INSTANCE.getHomeApi().closeApp().compose(RxSchedulers.observableIO2Main()).subscribe(new BaseObserver<Object>() { // homeApi.closeApp().compose(RxSchedulers.observableIO2Main())
@Override // .subscribe(object : BaseObserver<Any?>() {
public void onSuccess(Object result) { // override fun onSuccess(result: Any) {
exitActivity(); // exitActivity()
} // }
//
@Override // override fun onFailure(e: Throwable, code: String, errorMsg: String) {
public void onFailure(Throwable e, String code, String errorMsg) { // exitActivity()
exitActivity(); // }
} // })
});
} }
@Override override fun onDestroy() {
protected void onDestroy() { super.onDestroy()
super.onDestroy(); RxBus.get().unregister(Constant.REFRESH_LOGIN_STATS, mRestartLoginObservable!!)
RxBus.get().unregister(Constant.REFRESH_LOGIN_STATS, mRestartLoginObservable); RxBus.get().unregister(Constant.SWITCH_PAGE, mSwitchMainObservable!!)
RxBus.get().unregister(Constant.SWITCH_PAGE, mSwitchMainObservable);
} }
@Override override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data)
super.onActivityResult(requestCode, resultCode, data);
try { try {
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data)
} catch (Exception e) { } catch (e: Exception) {
} }
} }
@SuppressLint("MissingSuperCall") @SuppressLint("MissingSuperCall")
@Override override fun onSaveInstanceState(outState: Bundle) {
protected void onSaveInstanceState(@NonNull Bundle outState) {
// super.onSaveInstanceState(outState); // super.onSaveInstanceState(outState);
} }
var imgUrl: String? = ""
var clickid: String? = ""
var clickUrl: String? = ""
var adName:String?=""
fun getAdinfo() {
ApiClient.homeApi.getHomeAdInfo().compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<HomeAdEntity>>() {
override fun onSuccess(result: List<HomeAdEntity>?) {
if (!result.isNullOrEmpty()) {
for (item in result) {
if (item.slotName.equals("flow")) {
imgUrl = item.imgUrl
clickid = item.id
clickUrl = item.url
adName=item.title
Glide.with(AppContext.get()).asGif().load(imgUrl).into(adview!!)
// Glide.with(this).load(imgUrl)
// .apply(RequestOptions.bitmapTransform(CircleCrop()))
// .into(id_img_banner!!)
}
}
}
}
private void getAdInfo() { override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
ApiClient.INSTANCE.getHomeApi().closeApp().compose(RxSchedulers.observableIO2Main()).subscribe(new BaseObserver<Object>() {
@Override
public void onSuccess(Object result) {
exitActivity();
}
@Override }
public void onFailure(Throwable e, String code, String errorMsg) { })
exitActivity();
}
});
} }
}
} \ No newline at end of file
...@@ -32,8 +32,7 @@ ...@@ -32,8 +32,7 @@
android:layout_above="@+id/id_activity_main_fragment_navigation" android:layout_above="@+id/id_activity_main_fragment_navigation"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_marginRight="10dp" android:layout_marginRight="10dp"
android:layout_marginBottom="100dp" android:layout_marginBottom="100dp" />
android:src="@drawable/icon_head_defalt" />
<View <View
......
PACKAGE_NAME=com.zxhl.shop PACKAGE_NAME=com.zxhl.shop
VERSION_CODE=27 VERSION_CODE=28
VERSION_NAME=1.2.6 VERSION_NAME=1.2.7
\ No newline at end of file \ No newline at end of file
...@@ -284,6 +284,7 @@ public class NetConfig { ...@@ -284,6 +284,7 @@ public class NetConfig {
public static final String XX_GOODS_FETCHALL_CARD = "app/v1/game/xiaoxiang/fetchAllCard";//话费券列表 public static final String XX_GOODS_FETCHALL_CARD = "app/v1/game/xiaoxiang/fetchAllCard";//话费券列表
public static final String XX_GOODS_VIDEO_AD_INFO = "app/v1/game/xiaoxiang/videoAdInfo";//获取激励视频奖励信息 public static final String XX_GOODS_VIDEO_AD_INFO = "app/v1/game/xiaoxiang/videoAdInfo";//获取激励视频奖励信息
public static final String XX_GOODS_VIDEO_REWARD = "app/v1/game/xiaoxiang/videoAward";//激励视频播放以后调用保存话费券 public static final String XX_GOODS_VIDEO_REWARD = "app/v1/game/xiaoxiang/videoAward";//激励视频播放以后调用保存话费券
public static final String XX_GOODS_HOME_AD_INFO = "app/v1/game/xiaoxiang/ads";//首页广告信息
} }
public static class FlashSale { public static class FlashSale {
......
...@@ -14,6 +14,7 @@ import com.zxhl.cms.net.model.qy.TbGoodsEntity ...@@ -14,6 +14,7 @@ import com.zxhl.cms.net.model.qy.TbGoodsEntity
import com.zxhl.cms.net.model.qy.SkillEntity import com.zxhl.cms.net.model.qy.SkillEntity
import com.zxhl.cms.net.model.uc.UserInfo import com.zxhl.cms.net.model.uc.UserInfo
import com.zxhl.cms.net.model.uc.VersionEntity import com.zxhl.cms.net.model.uc.VersionEntity
import com.zxhl.cms.net.model.video.HomeAdEntity
import com.zxhl.cms.net.model.video.VideoInfoEntity import com.zxhl.cms.net.model.video.VideoInfoEntity
import io.reactivex.Observable import io.reactivex.Observable
import okhttp3.ResponseBody import okhttp3.ResponseBody
...@@ -416,4 +417,7 @@ interface IHomeApi { ...@@ -416,4 +417,7 @@ interface IHomeApi {
@POST(NetConfig.QY.XX_GOODS_VIDEO_REWARD) @POST(NetConfig.QY.XX_GOODS_VIDEO_REWARD)
fun getVideoReward(): Observable<Response<VideoInfoEntity>> fun getVideoReward(): Observable<Response<VideoInfoEntity>>
@GET(NetConfig.QY.XX_GOODS_HOME_AD_INFO)
fun getHomeAdInfo(): Observable<Response<List<HomeAdEntity>>>
} }
\ No newline at end of file
package com.zxhl.cms.net.model.video
class HomeAdEntity {
var id: String? = ""
var title: String? = ""
var imgUrl: String? = ""
var url: String? = ""
var slotName: String? = ""
}
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.zxbw.modulemain.contract ...@@ -3,6 +3,7 @@ package com.zxbw.modulemain.contract
import com.zxhl.cms.net.model.box.TabEntity import com.zxhl.cms.net.model.box.TabEntity
import com.zxhl.cms.net.model.qy.CouponsEntity import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.qy.HomeBannerEntity import com.zxhl.cms.net.model.qy.HomeBannerEntity
import com.zxhl.cms.net.model.video.HomeAdEntity
/** /**
* 主页 * 主页
...@@ -13,11 +14,13 @@ class HomeContract { ...@@ -13,11 +14,13 @@ class HomeContract {
fun setBannerList(result: List<HomeBannerEntity>?) fun setBannerList(result: List<HomeBannerEntity>?)
fun setTabList(list: List<TabEntity>?) fun setTabList(list: List<TabEntity>?)
fun setCouponsList(result: List<CouponsEntity>?) fun setCouponsList(result: List<CouponsEntity>?)
fun setAdBanner(result: List<HomeAdEntity>?)
} }
interface Presenter { interface Presenter {
fun getBannerList() fun getBannerList()
fun getTabList() fun getTabList()
fun getFetchCard() fun getFetchCard()
fun getAdInfo()
} }
} }
\ No newline at end of file
...@@ -5,11 +5,15 @@ import android.text.TextUtils ...@@ -5,11 +5,15 @@ import android.text.TextUtils
import android.util.Log import android.util.Log
import android.view.View import android.view.View
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CircleCrop
import com.bumptech.glide.request.RequestOptions
import com.zxbw.modulemain.R import com.zxbw.modulemain.R
import com.zxbw.modulemain.adapter.HomeBannerAdapter import com.zxbw.modulemain.adapter.HomeBannerAdapter
import com.zxbw.modulemain.contract.HomeContract import com.zxbw.modulemain.contract.HomeContract
import com.zxbw.modulemain.presenter.HomePresenter import com.zxbw.modulemain.presenter.HomePresenter
import com.zxbw.modulemain.view.DialogUtils import com.zxbw.modulemain.view.DialogUtils
import com.zxhl.cms.AppContext
import com.zxhl.cms.common.Constant import com.zxhl.cms.common.Constant
import com.zxhl.cms.common.FragmentAdapter import com.zxhl.cms.common.FragmentAdapter
import com.zxhl.cms.common.NetConfig import com.zxhl.cms.common.NetConfig
...@@ -19,6 +23,8 @@ import com.zxhl.cms.net.SettingPreference ...@@ -19,6 +23,8 @@ import com.zxhl.cms.net.SettingPreference
import com.zxhl.cms.net.model.box.TabEntity import com.zxhl.cms.net.model.box.TabEntity
import com.zxhl.cms.net.model.qy.CouponsEntity import com.zxhl.cms.net.model.qy.CouponsEntity
import com.zxhl.cms.net.model.qy.HomeBannerEntity import com.zxhl.cms.net.model.qy.HomeBannerEntity
import com.zxhl.cms.net.model.video.HomeAdEntity
import com.zxhl.cms.utils.EventUtils
import com.zxhl.cms.utils.JumpUtils import com.zxhl.cms.utils.JumpUtils
import com.zxhl.cms.utils.UpdateCallback import com.zxhl.cms.utils.UpdateCallback
import com.zxhl.cms.utils.Utils import com.zxhl.cms.utils.Utils
...@@ -40,7 +46,7 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback { ...@@ -40,7 +46,7 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
override fun lazyLoad() { override fun lazyLoad() {
super.lazyLoad() super.lazyLoad()
if (isInitial && isVisible) { if (isInitial && isVisible) {
mPresenter?.getAdInfo()
} }
} }
...@@ -49,10 +55,16 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback { ...@@ -49,10 +55,16 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
updateVersionManager?.checkUpdate(true) updateVersionManager?.checkUpdate(true)
var statusBarHeight = ScreenUtils.getStatusBarHeight() var statusBarHeight = ScreenUtils.getStatusBarHeight()
if (statusBarHeight <= 0) { if (statusBarHeight <= 0) {
statusBarHeight = 40; statusBarHeight = 40
} }
id_title_sys_bar_view.layoutParams.height = statusBarHeight id_title_sys_bar_view.layoutParams.height = statusBarHeight
id_img_banner?.setOnClickListener {
if(!TextUtils.isEmpty(clickUrl)){
EventUtils.onEvent("ad_click",""+clickid)
JumpUtils.webJump(adName, clickUrl)
}
}
mPresenter = HomePresenter(this) mPresenter = HomePresenter(this)
id_rl_search_view.setOnClickListener { id_rl_search_view.setOnClickListener {
...@@ -148,8 +160,8 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback { ...@@ -148,8 +160,8 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
} }
override fun setCouponsList(result: List<CouponsEntity>?) { override fun setCouponsList(result: List<CouponsEntity>?) {
if(!result.isNullOrEmpty()){ if (!result.isNullOrEmpty()) {
if(TextUtils.equals(SettingPreference.getifShowCoups(),"0")){ if (TextUtils.equals(SettingPreference.getifShowCoups(), "0")) {
DialogUtils.showifshowCoup(mActivity, result, View.OnClickListener { DialogUtils.showifshowCoup(mActivity, result, View.OnClickListener {
JumpUtils.RechargeJump() JumpUtils.RechargeJump()
}) })
...@@ -159,6 +171,30 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback { ...@@ -159,6 +171,30 @@ class HomeFragment : BaseFragment(), HomeContract.View, UpdateCallback {
} }
var imgUrl: String? = ""
var clickid: String? = ""
var clickUrl: String? = ""
var adName:String?=""
override fun setAdBanner(result: List<HomeAdEntity>?) {
if (!result.isNullOrEmpty()) {
for (item in result) {
if (item.slotName.equals("banner")) {
imgUrl = item.imgUrl
clickid = item.id
clickUrl = item.url
adName=item.title
Glide.with(AppContext.get()).asGif().load(imgUrl).into(id_img_banner!!)
// Glide.with(this).load(imgUrl)
// .apply(RequestOptions.bitmapTransform(CircleCrop()))
// .into(id_img_banner!!)
}
}
}
}
override fun CheckUpate(boolean: Boolean) { override fun CheckUpate(boolean: Boolean) {
Log.e("MXL", "更新:" + boolean) Log.e("MXL", "更新:" + boolean)
if (Constant.Switch.isOpenVip) { if (Constant.Switch.isOpenVip) {
......
...@@ -18,6 +18,7 @@ import com.zxhl.cms.net.model.qy.HomeBannerEntity ...@@ -18,6 +18,7 @@ import com.zxhl.cms.net.model.qy.HomeBannerEntity
import com.zxhl.cms.net.model.qy.JgqQyEntity import com.zxhl.cms.net.model.qy.JgqQyEntity
import com.zxhl.cms.net.model.qy.TbGoodsEntity import com.zxhl.cms.net.model.qy.TbGoodsEntity
import com.zxhl.cms.net.model.uc.UserInfo import com.zxhl.cms.net.model.uc.UserInfo
import com.zxhl.cms.net.model.video.HomeAdEntity
import com.zxhl.cms.utils.EventUtils import com.zxhl.cms.utils.EventUtils
import com.zxhl.cms.utils.UserDataUtils import com.zxhl.cms.utils.UserDataUtils
import com.zxhl.cms.utils.Utils import com.zxhl.cms.utils.Utils
...@@ -44,9 +45,9 @@ class HomePresenter : HomeContract.Presenter { ...@@ -44,9 +45,9 @@ class HomePresenter : HomeContract.Presenter {
var entity = HomeBannerEntity() var entity = HomeBannerEntity()
entity.bannerType = "hua_fei" entity.bannerType = "hua_fei"
toMutableList?.add(0, entity) toMutableList?.add(0, entity)
toMutableList?.removeAt(toMutableList.size-1) toMutableList?.removeAt(toMutableList.size - 1)
mView.setBannerList(toMutableList?.toList()) mView.setBannerList(toMutableList?.toList())
}else{ } else {
mView.setBannerList(result) mView.setBannerList(result)
} }
} }
...@@ -90,4 +91,17 @@ class HomePresenter : HomeContract.Presenter { ...@@ -90,4 +91,17 @@ class HomePresenter : HomeContract.Presenter {
} }
}) })
} }
override fun getAdInfo() {
ApiClient.homeApi.getHomeAdInfo().compose(RxSchedulers.observableIO2Main())
.subscribe(object : BaseObserver<List<HomeAdEntity>>() {
override fun onSuccess(result: List<HomeAdEntity>?) {
mView.setAdBanner(result)
}
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
}
})
}
} }
\ No newline at end of file
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingBottom="8dp"> android:paddingBottom="8dp">
<com.zxbw.modulemain.view.WrapContentHeightViewPager <com.zxbw.modulemain.view.WrapContentHeightViewPager
android:id="@+id/id_home_top_banner" android:id="@+id/id_home_top_banner"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -45,6 +46,16 @@ ...@@ -45,6 +46,16 @@
tl:vpi_slider_checked_color="@color/white" tl:vpi_slider_checked_color="@color/white"
tl:vpi_slider_normal_color="#80ffffff" tl:vpi_slider_normal_color="#80ffffff"
tl:vpi_slider_radius="3dp" /> tl:vpi_slider_radius="3dp" />
<ImageView
android:id="@+id/id_img_banner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_below="@+id/id_home_top_banner"
android:adjustViewBounds="true" />
</RelativeLayout> </RelativeLayout>
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment