diff --git a/app/src/main/java/me/jessyan/mvparms/demo/mvp/ui/activity/UserActivity.java b/app/src/main/java/me/jessyan/mvparms/demo/mvp/ui/activity/UserActivity.java index 974419fc2d92f48a10a8e954980f1074641dd8fa..b892dc13675e6338c91b70c4465e9444d7538c58 100644 --- a/app/src/main/java/me/jessyan/mvparms/demo/mvp/ui/activity/UserActivity.java +++ b/app/src/main/java/me/jessyan/mvparms/demo/mvp/ui/activity/UserActivity.java @@ -3,7 +3,6 @@ package me.jessyan.mvparms.demo.mvp.ui.activity; import android.content.Intent; import android.support.annotation.Nullable; import android.support.v4.widget.SwipeRefreshLayout; -import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -15,13 +14,13 @@ import com.paginate.Paginate; import com.tbruyelle.rxpermissions.RxPermissions; import butterknife.BindView; -import me.jessyan.mvparms.demo.R; import common.AppComponent; +import common.WEActivity; +import me.jessyan.mvparms.demo.R; import me.jessyan.mvparms.demo.di.component.DaggerUserComponent; import me.jessyan.mvparms.demo.di.module.UserModule; import me.jessyan.mvparms.demo.mvp.contract.UserContract; import me.jessyan.mvparms.demo.mvp.presenter.UserPresenter; -import common.WEActivity; import rx.Observable; import rx.android.schedulers.AndroidSchedulers; import rx.functions.Action1; @@ -74,23 +73,7 @@ public class UserActivity extends WEActivity implements UserContr */ private void initRecycleView() { mSwipeRefreshLayout.setOnRefreshListener(this); - configRecycleView(mRecyclerView, new GridLayoutManager(this, 2)); - } - - - /** - * 配置recycleview - * - * @param recyclerView - * @param layoutManager - */ - private void configRecycleView(RecyclerView recyclerView - , RecyclerView.LayoutManager layoutManager - ) { - recyclerView.setLayoutManager(layoutManager); - //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 - recyclerView.setHasFixedSize(true); - recyclerView.setItemAnimator(new DefaultItemAnimator()); + UiUtils.configRecycleView(mRecyclerView, new GridLayoutManager(this, 2)); } diff --git a/arms/src/main/java/com/jess/arms/base/ActivityLifecycle.java b/arms/src/main/java/com/jess/arms/base/ActivityLifecycle.java index e917fbef45abcf0fedb4e1d9c3c28aee31c9e92a..2af83115dc4d5eb7e945da351cd5108e55fc2565 100644 --- a/arms/src/main/java/com/jess/arms/base/ActivityLifecycle.java +++ b/arms/src/main/java/com/jess/arms/base/ActivityLifecycle.java @@ -32,7 +32,7 @@ public class ActivityLifecycle implements Application.ActivityLifecycleCallbacks isNotAdd = activity.getIntent().getBooleanExtra(IS_NOT_ADD_ACTIVITY_LIST, false); if (!isNotAdd) - mAppManager.addActivity((BaseActivity) activity); + mAppManager.addActivity(activity); } @Override @@ -42,7 +42,7 @@ public class ActivityLifecycle implements Application.ActivityLifecycleCallbacks @Override public void onActivityResumed(Activity activity) { - mAppManager.setCurrentActivity((BaseActivity) activity); + mAppManager.setCurrentActivity(activity); } @Override @@ -64,6 +64,6 @@ public class ActivityLifecycle implements Application.ActivityLifecycleCallbacks @Override public void onActivityDestroyed(Activity activity) { - mAppManager.removeActivity((BaseActivity) activity); + mAppManager.removeActivity(activity); } } diff --git a/arms/src/main/java/com/jess/arms/base/AppManager.java b/arms/src/main/java/com/jess/arms/base/AppManager.java index fe00816381ea4cddf8bec848b5ff3a9ce9680315..12bf948422a88bdad6ae3c9a5e408caff5982161 100644 --- a/arms/src/main/java/com/jess/arms/base/AppManager.java +++ b/arms/src/main/java/com/jess/arms/base/AppManager.java @@ -1,5 +1,6 @@ package com.jess.arms.base; +import android.app.Activity; import android.app.ActivityManager; import android.app.Application; import android.content.Context; @@ -39,9 +40,9 @@ public class AppManager { private Application mApplication; //管理所有activity - public List mActivityList; + public List mActivityList; //当前在前台的activity - private BaseActivity mCurrentActivity; + private Activity mCurrentActivity; @Inject public AppManager(Application application) { @@ -141,7 +142,7 @@ public class AppManager { * * @param currentActivity */ - public void setCurrentActivity(BaseActivity currentActivity) { + public void setCurrentActivity(Activity currentActivity) { this.mCurrentActivity = currentActivity; } @@ -150,7 +151,7 @@ public class AppManager { * * @return */ - public BaseActivity getCurrentActivity() { + public Activity getCurrentActivity() { return mCurrentActivity; } @@ -159,7 +160,7 @@ public class AppManager { * * @return */ - public List getActivityList() { + public List getActivityList() { if (mActivityList == null) { mActivityList = new LinkedList<>(); } @@ -170,7 +171,7 @@ public class AppManager { /** * 添加Activity到集合 */ - public void addActivity(BaseActivity activity) { + public void addActivity(Activity activity) { if (mActivityList == null) { mActivityList = new LinkedList<>(); } @@ -186,9 +187,9 @@ public class AppManager { * * @param activity */ - public void removeActivity(BaseActivity activity) { + public void removeActivity(Activity activity) { if (mActivityList == null) { - Timber.tag(TAG).w("mActivityList == null when removeActivity(BaseActivity)"); + Timber.tag(TAG).w("mActivityList == null when removeActivity(Activity)"); return; } synchronized (AppManager.class) { @@ -203,7 +204,7 @@ public class AppManager { * * @param location */ - public BaseActivity removeActivity(int location) { + public Activity removeActivity(int location) { if (mActivityList == null) { Timber.tag(TAG).w("mActivityList == null when removeActivity(int)"); return null; @@ -226,7 +227,7 @@ public class AppManager { Timber.tag(TAG).w("mActivityList == null when killActivity"); return; } - for (BaseActivity activity : mActivityList) { + for (Activity activity : mActivityList) { if (activity.getClass().equals(activityClass)) { activity.finish(); } @@ -240,7 +241,7 @@ public class AppManager { * @param activity * @return */ - public boolean activityInstanceIsLive(BaseActivity activity) { + public boolean activityInstanceIsLive(Activity activity) { if (mActivityList == null) { Timber.tag(TAG).w("mActivityList == null when activityInstanceIsLive"); return false; @@ -260,7 +261,7 @@ public class AppManager { Timber.tag(TAG).w("mActivityList == null when activityClassIsLive"); return false; } - for (BaseActivity activity : mActivityList) { + for (Activity activity : mActivityList) { if (activity.getClass().equals(activityClass)) { return true; } @@ -278,7 +279,7 @@ public class AppManager { // getActivityList().remove(0).finish(); // } - Iterator iterator = getActivityList().iterator(); + Iterator iterator = getActivityList().iterator(); while (iterator.hasNext()) { iterator.next().finish(); iterator.remove(); diff --git a/arms/src/main/java/com/jess/arms/base/BaseActivity.java b/arms/src/main/java/com/jess/arms/base/BaseActivity.java index aef799bdd403d94962f64380f7dfc34617e6dc3c..d32d95c6ba143fa662311dba6f713ad694965472 100644 --- a/arms/src/main/java/com/jess/arms/base/BaseActivity.java +++ b/arms/src/main/java/com/jess/arms/base/BaseActivity.java @@ -54,34 +54,11 @@ public abstract class BaseActivity

extends RxAppCompatActiv } - @Override - protected void onResume() { - super.onResume(); - mApplication.getAppManager().setCurrentActivity(this); - } - - @Override - protected void onPause() { - super.onPause(); - if (mApplication.getAppManager().getCurrentActivity() == this) { - mApplication.getAppManager().setCurrentActivity(null); - } - } - @Nullable @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mApplication = (BaseApplication) getApplication(); - //如果intent包含了此字段,并且为true说明不加入到list - // 默认为false,如果不需要管理(比如不需要在退出所有activity(killAll)时,退出此activity就在intent加此字段为true) - boolean isNotAdd = false; - if (getIntent() != null) - isNotAdd = getIntent().getBooleanExtra(IS_NOT_ADD_ACTIVITY_LIST, false); - - if (!isNotAdd) - mApplication.getAppManager().addActivity(this); - if (useEventBus())//如果要使用eventbus请将此方法返回true EventBus.getDefault().register(this);//注册到事件主线 setContentView(initView()); @@ -113,7 +90,6 @@ public abstract class BaseActivity

extends RxAppCompatActiv @Override protected void onDestroy() { super.onDestroy(); - mApplication.getAppManager().removeActivity(this); if (mPresenter != null) mPresenter.onDestroy();//释放资源 if (mUnbinder != Unbinder.EMPTY) mUnbinder.unbind(); if (useEventBus())//如果要使用eventbus请将此方法返回true diff --git a/config.gradle b/config.gradle index 556edf5b97985ff46d21f6a7391952cd9b73dbca..d006bf49d3374fa9bfcb35ef299a6de96ddddcf8 100644 --- a/config.gradle +++ b/config.gradle @@ -4,8 +4,8 @@ ext { buildToolsVersion : "25.0.2", minSdkVersion : 15, targetSdkVersion : 25, - versionCode : 23, - versionName : "1.2.3", + versionCode : 24, + versionName : "1.2.4", androidSupportSdkVersion: "25.1.1", retrofitSdkVersion : "2.1.0", dagger2SdkVersion : "2.8",