From 9dc2fddb4d82666cd9ee55f7ce4b2ea212e02e8d Mon Sep 17 00:00:00 2001 From: xuhao <504105930@qq.com> Date: Wed, 20 Dec 2017 22:49:14 +0800 Subject: [PATCH] =?UTF-8?q?update=20v1.2.1=201.=E4=BC=98=E5=8C=96=E4=BA=86?= =?UTF-8?q?=20=E9=83=A8=E5=88=86=E5=8A=A0=E8=BD=BD=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=EF=BC=9B=202.=E8=A7=A3=E5=86=B3=E5=86=85=E5=AD=98=E4=B8=8D?= =?UTF-8?q?=E8=B6=B3=E6=97=B6=EF=BC=8C=E9=87=8D=E6=96=B0=E6=89=93=E5=BC=80?= =?UTF-8?q?=20fragment=20=E5=87=BA=E7=8E=B0=E5=8F=A0=E5=8A=A0=EF=BC=9B=203?= =?UTF-8?q?.=E6=B3=A8=E9=87=8ABugly=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 8 +- .../java/com/hazz/kotlinmvp/MyApplication.kt | 2 - .../mvp/presenter/CategoryDetailPresenter.kt | 3 - .../mvp/presenter/CategoryPresenter.kt | 1 - .../mvp/presenter/FollowPresenter.kt | 1 - .../mvp/presenter/HotTabPresenter.kt | 1 + .../kotlinmvp/mvp/presenter/RankPresenter.kt | 1 - .../ui/activity/CategoryDetailActivity.kt | 3 +- .../kotlinmvp/ui/activity/MainActivity.kt | 98 +++---------------- .../ui/fragment/DiscoveryFragment.kt | 6 +- .../kotlinmvp/ui/fragment/HomeFragment.kt | 2 +- .../hazz/kotlinmvp/ui/fragment/HotFragment.kt | 3 + .../kotlinmvp/ui/fragment/RankFragment.kt | 4 +- 13 files changed, 25 insertions(+), 108 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 46ee687..3ba4f7f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -20,8 +20,8 @@ android { applicationId "com.hazz.kotlinmvp" minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion - versionCode 3 - versionName "1.2" + versionCode 4 + versionName "1.2.1" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" javaCompileOptions { annotationProcessorOptions { @@ -76,10 +76,6 @@ android { } } -//获取时间的方法 -def createDate() { - return new Date().format("MMdd_HHmm", TimeZone.getTimeZone("GMT+8")) -} dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') diff --git a/app/src/main/java/com/hazz/kotlinmvp/MyApplication.kt b/app/src/main/java/com/hazz/kotlinmvp/MyApplication.kt index 0f982e4..6dba093 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/MyApplication.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/MyApplication.kt @@ -72,8 +72,6 @@ class MyApplication : Application(){ return BuildConfig.DEBUG } }) - //测试阶段建议设置成true,发布时设置为false。 - CrashReport.initCrashReport(applicationContext, Constants.BUGLY_APPID, false) } diff --git a/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/CategoryDetailPresenter.kt b/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/CategoryDetailPresenter.kt index ca9ce21..14633f3 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/CategoryDetailPresenter.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/CategoryDetailPresenter.kt @@ -21,19 +21,16 @@ class CategoryDetailPresenter:BasePresenter(),Categ */ override fun getCategoryDetailList(id: Long) { checkViewAttached() - mRootView?.showLoading() val disposable= categoryDetailModel.getCategoryDetailList(id) .subscribe({ issue -> mRootView?.apply { - dismissLoading() nextPageUrl = issue.nextPageUrl setCateDetailList(issue.itemList) } },{ throwable -> mRootView?.apply { - dismissLoading() showError(throwable.toString()) } }) diff --git a/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/CategoryPresenter.kt b/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/CategoryPresenter.kt index 5c58652..c4d0b34 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/CategoryPresenter.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/CategoryPresenter.kt @@ -29,7 +29,6 @@ class CategoryPresenter : BasePresenter(), CategoryContra } }, { t -> mRootView?.apply { - dismissLoading() //处理异常 showError(ExceptionHandle.handleException(t),ExceptionHandle.errorCode) } diff --git a/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/FollowPresenter.kt b/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/FollowPresenter.kt index 546353b..89abd11 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/FollowPresenter.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/FollowPresenter.kt @@ -32,7 +32,6 @@ class FollowPresenter : BasePresenter(), FollowContract.Pre } }, { throwable -> mRootView?.apply { - dismissLoading() //处理异常 showError(ExceptionHandle.handleException(throwable),ExceptionHandle.errorCode) } diff --git a/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/HotTabPresenter.kt b/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/HotTabPresenter.kt index 0fda589..2df2a9a 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/HotTabPresenter.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/HotTabPresenter.kt @@ -16,6 +16,7 @@ class HotTabPresenter:BasePresenter(),HotTabContract.Presen override fun getTabInfo() { checkViewAttached() + mRootView?.showLoading() val disposable = hotTabModel.getTabInfo() .subscribe({ tabInfo-> diff --git a/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/RankPresenter.kt b/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/RankPresenter.kt index 1d31e52..45de239 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/RankPresenter.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/mvp/presenter/RankPresenter.kt @@ -28,7 +28,6 @@ class RankPresenter : BasePresenter(), RankContract.Presenter } }, { throwable -> mRootView?.apply { - dismissLoading() //处理异常 showError(ExceptionHandle.handleException(throwable),ExceptionHandle.errorCode) } diff --git a/app/src/main/java/com/hazz/kotlinmvp/ui/activity/CategoryDetailActivity.kt b/app/src/main/java/com/hazz/kotlinmvp/ui/activity/CategoryDetailActivity.kt index 6b99d22..9dc2447 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/ui/activity/CategoryDetailActivity.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/ui/activity/CategoryDetailActivity.kt @@ -91,12 +91,11 @@ class CategoryDetailActivity : BaseActivity(), CategoryDetailContract.View { } override fun showLoading() { -// multipleStatusView.showLoading() } override fun dismissLoading() { - multipleStatusView.showContent() + } override fun setCateDetailList(itemList: ArrayList) { diff --git a/app/src/main/java/com/hazz/kotlinmvp/ui/activity/MainActivity.kt b/app/src/main/java/com/hazz/kotlinmvp/ui/activity/MainActivity.kt index 6666f37..5980000 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/ui/activity/MainActivity.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/ui/activity/MainActivity.kt @@ -84,51 +84,12 @@ class MainActivity : BaseActivity() { private fun switchFragment(position: Int) { val transaction = supportFragmentManager.beginTransaction() hideFragments(transaction) -// showToast(supportFragmentManager.fragments.size.toString()) + showToast(supportFragmentManager.fragments.size.toString()) /*重复进入退出视频详情页会导致fragment不断增加*/ -// when (position) { -// 0 //首页 -// -> if (mHomeFragment == null) { -// -// mHomeFragment = HomeFragment.getInstance(mTitles[position]) -// transaction.add(R.id.fl_container, mHomeFragment, "home") -// } else { -// transaction.show(mHomeFragment) -// } -// 1 //发现 -// -> if (mDiscoveryFragment == null) { -// mDiscoveryFragment = DiscoveryFragment.getInstance(mTitles[position]) -// transaction.add(R.id.fl_container, mDiscoveryFragment, "discovery") -// } else { -// transaction.show(mDiscoveryFragment) -// } -// 2 //热门 -// -> if ( mHotFragment == null) { -// mHotFragment = HotFragment.getInstance(mTitles[position]) -// transaction.add(R.id.fl_container, mHotFragment, "hot") -// } -// else { -// transaction.show(mHotFragment) -// } -// -// 3 //我的 -// -> if (mMineFragment == null) { -// mMineFragment = MineFragment.getInstance(mTitles[position]) -// transaction.add(R.id.fl_container, mMineFragment, "mine") -// } else { -// transaction.show(mMineFragment) -// } -// else -> { -// -// } -// } when (position) { 0 //首页 -> if (mHomeFragment == null) { - var cacheMHomeFragment = supportFragmentManager.findFragmentByTag("home") - if(cacheMHomeFragment != null){ - transaction.remove(cacheMHomeFragment) - } + mHomeFragment = HomeFragment.getInstance(mTitles[position]) transaction.add(R.id.fl_container, mHomeFragment, "home") } else { @@ -136,10 +97,6 @@ class MainActivity : BaseActivity() { } 1 //发现 -> if (mDiscoveryFragment == null) { - var cacheMDiscoveryFragment = supportFragmentManager.findFragmentByTag("discovery") - if(cacheMDiscoveryFragment != null){ - transaction.remove(cacheMDiscoveryFragment) - } mDiscoveryFragment = DiscoveryFragment.getInstance(mTitles[position]) transaction.add(R.id.fl_container, mDiscoveryFragment, "discovery") } else { @@ -147,10 +104,6 @@ class MainActivity : BaseActivity() { } 2 //热门 -> if ( mHotFragment == null) { - var cacheMHotFragment = supportFragmentManager.findFragmentByTag("hot") - if(cacheMHotFragment != null){ - transaction.remove(cacheMHotFragment) - } mHotFragment = HotFragment.getInstance(mTitles[position]) transaction.add(R.id.fl_container, mHotFragment, "hot") } @@ -160,10 +113,6 @@ class MainActivity : BaseActivity() { 3 //我的 -> if (mMineFragment == null) { - var cacheMMineFragment = supportFragmentManager.findFragmentByTag("mine") - if(cacheMMineFragment != null){ - transaction.remove(cacheMMineFragment) - } mMineFragment = MineFragment.getInstance(mTitles[position]) transaction.add(R.id.fl_container, mMineFragment, "mine") } else { @@ -173,6 +122,7 @@ class MainActivity : BaseActivity() { } } + mIndex = position tab_layout.currentTab = mIndex transaction.commitAllowingStateLoss() @@ -184,54 +134,30 @@ class MainActivity : BaseActivity() { * @param transaction transaction */ private fun hideFragments(transaction: FragmentTransaction) { - /*mHomeFragment 丢失问题应该用全局查找替代*/ -// if (null != mHomeFragment) { -// transaction.hide(mHomeFragment) -// } -// if (null != mDiscoveryFragment) { -// transaction.hide(mDiscoveryFragment) -// } -// if (null != mHotFragment) { -// transaction.hide(mHotFragment) -// } -// if (null != mMineFragment) { -// transaction.hide(mMineFragment) -// } - var cacheMHomeFragment = supportFragmentManager.findFragmentByTag("home") - - var cacheMDiscoveryFragment = supportFragmentManager.findFragmentByTag("discovery") - var cacheMMineFragment = supportFragmentManager.findFragmentByTag("hot") - var cacheMHotFragment = supportFragmentManager.findFragmentByTag("mine") - if (null != cacheMHomeFragment) { - transaction.hide(cacheMHomeFragment) + if (null != mHomeFragment) { + transaction.hide(mHomeFragment) } - if (null != cacheMDiscoveryFragment) { - transaction.hide(cacheMDiscoveryFragment) + if (null != mDiscoveryFragment) { + transaction.hide(mDiscoveryFragment) } - if (null != cacheMMineFragment) { - transaction.hide(cacheMMineFragment) + if (null != mHotFragment) { + transaction.hide(mHotFragment) } - if (null != cacheMHotFragment) { - transaction.hide(cacheMHotFragment) + if (null != mMineFragment) { + transaction.hide(mMineFragment) } - } override fun onSaveInstanceState(outState: Bundle) { // showToast("onSaveInstanceState->"+mIndex) - super.onSaveInstanceState(outState) +// super.onSaveInstanceState(outState) //记录fragment的位置,防止崩溃 activity被系统回收时,fragment错乱 if (tab_layout != null) { outState.putInt("currTabIndex", mIndex) } } - override fun onRestoreInstanceState(savedInstanceState: Bundle?) { -// showToast("onRestoreInstanceState->"+mIndex) -// switchFragment(savedInstanceState!!.getInt( mIndex.toString() )); -// super.onRestoreInstanceState(savedInstanceState) - } override fun initView() { diff --git a/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/DiscoveryFragment.kt b/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/DiscoveryFragment.kt index 6771957..1e525b6 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/DiscoveryFragment.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/DiscoveryFragment.kt @@ -13,7 +13,7 @@ import kotlinx.android.synthetic.main.fragment_hot.* * Created by xuhao on 2017/12/7. * desc: 发现(和热门首页同样的布局) */ -class DiscoveryFragment:BaseFragment(){ +class DiscoveryFragment : BaseFragment() { private val tabList = ArrayList() @@ -49,13 +49,11 @@ class DiscoveryFragment:BaseFragment(){ /** * getSupportFragmentManager() 替换为getChildFragmentManager() */ - mViewPager.adapter = BaseFragmentAdapter(childFragmentManager,fragments,tabList) + mViewPager.adapter = BaseFragmentAdapter(childFragmentManager, fragments, tabList) mTabLayout.setupWithViewPager(mViewPager) TabLayoutHelper.setUpIndicatorWidth(mTabLayout) - - } override fun lazyLoad() { diff --git a/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/HomeFragment.kt b/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/HomeFragment.kt index 5ec9d1c..635133f 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/HomeFragment.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/HomeFragment.kt @@ -168,13 +168,13 @@ class HomeFragment : BaseFragment(), HomeContract.View { */ override fun dismissLoading() { mRefreshLayout.finishRefresh() - mLayoutStatusView?.showContent() } /** * 设置首页数据 */ override fun setHomeData(homeBean: HomeBean) { + mLayoutStatusView?.showContent() Logger.d(homeBean) // Adapter diff --git a/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/HotFragment.kt b/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/HotFragment.kt index 27b14c8..96e23a2 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/HotFragment.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/HotFragment.kt @@ -62,15 +62,18 @@ class HotFragment : BaseFragment(), HotTabContract.View { override fun showLoading() { + multipleStatusView.showLoading() } override fun dismissLoading() { + } /** * 设置 TabInfo */ override fun setTabInfo(tabInfoBean: TabInfoBean) { + multipleStatusView.showContent() tabInfoBean.tabInfo.tabList.mapTo(mTabTitleList) { it.name } tabInfoBean.tabInfo.tabList.mapTo(mFragmentList) { RankFragment.getInstance(it.apiUrl) } diff --git a/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/RankFragment.kt b/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/RankFragment.kt index bed9165..51f293d 100644 --- a/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/RankFragment.kt +++ b/app/src/main/java/com/hazz/kotlinmvp/ui/fragment/RankFragment.kt @@ -63,10 +63,12 @@ class RankFragment : BaseFragment(), RankContract.View { } override fun dismissLoading() { - multipleStatusView.showContent() + } override fun setRankList(itemList: ArrayList) { + multipleStatusView.showContent() + mAdapter.addData(itemList) }