Skip to content

Commit

Permalink
优化组件库
Browse files Browse the repository at this point in the history
  • Loading branch information
yangchong211 committed Dec 1, 2022
1 parent b12b08f commit 92904da
Show file tree
Hide file tree
Showing 10 changed files with 48 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
* revise:
* </pre>
*/
public abstract class ActivityLifecycleListener implements Application.ActivityLifecycleCallbacks {
public abstract class AbsLifecycleListener implements Application.ActivityLifecycleCallbacks {

@Override
public void onActivityCreated(@Nullable Activity activity, Bundle savedInstanceState) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ public void pop() {
*/
@Override
public void registerActivityLifecycleListener(Class clazz,
ActivityLifecycleListener lifecycleListener) {
AbsLifecycleListener lifecycleListener) {
if (clazz == null || lifecycleListener == null) {
return;
}
Expand All @@ -190,7 +190,7 @@ public void registerActivityLifecycleListener(Class clazz,
*/
@Override
public void unregisterActivityLifecycleListener(Class clazz,
ActivityLifecycleListener lifecycleListener) {
AbsLifecycleListener lifecycleListener) {
if (clazz == null || lifecycleListener == null) {
return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public interface IActivityManager<T> {
* @param lifecycleListener 监听
*/
void registerActivityLifecycleListener(Class<T> clazz,
ActivityLifecycleListener lifecycleListener);
AbsLifecycleListener lifecycleListener);

/**
* 移除activity生命周期监听
Expand All @@ -116,6 +116,6 @@ void registerActivityLifecycleListener(Class<T> clazz,
* @param lifecycleListener 监听
*/
void unregisterActivityLifecycleListener(Class<T> clazz,
ActivityLifecycleListener lifecycleListener);
AbsLifecycleListener lifecycleListener);

}
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
* revise:
* </pre>
*/
public class ProxyActivityListener extends ActivityLifecycleListener {
public class ProxyActivityListener extends AbsLifecycleListener {

private final Map<Class<Activity>, List<ActivityLifecycleListener>>
private final Map<Class<Activity>, List<AbsLifecycleListener>>
mActivityLifecycleListeners = new HashMap<>();
private final ActivityManager mActivityManager;

Expand All @@ -44,24 +44,24 @@ public class ProxyActivityListener extends ActivityLifecycleListener {
}

public void registerActivityLifecycleListener(Class<Activity> clazz,
ActivityLifecycleListener lifecycleListener) {
AbsLifecycleListener lifecycleListener) {
if (clazz == null || lifecycleListener == null) {
return;
}
List<ActivityLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(clazz);
List<AbsLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(clazz);
if (lifecycleListeners == null) {
lifecycleListeners = new ArrayList<>();
}
lifecycleListeners.add(lifecycleListener);
mActivityLifecycleListeners.put(clazz, lifecycleListeners);
}

public boolean unregisterActivityLifecycleListener(Class<Activity> clazz, ActivityLifecycleListener lifecycleListener) {
public boolean unregisterActivityLifecycleListener(Class<Activity> clazz, AbsLifecycleListener lifecycleListener) {
if (clazz == null || lifecycleListener == null) {
return false;
}
synchronized (mActivityLifecycleListeners) {
List<ActivityLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(clazz);
List<AbsLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(clazz);
if (lifecycleListeners == null) {
return false;
}
Expand All @@ -75,51 +75,51 @@ public boolean unregisterActivityLifecycleListener(Class<Activity> clazz, Activi

@Override
public void onActivityResumed(Activity activity) {
List<ActivityLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
List<AbsLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
if (lifecycleListeners == null || lifecycleListeners.size() == 0) {
return;
}

List<ActivityLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
List<AbsLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
for (int i = 0; i < callbacks.size(); i++) {
callbacks.get(i).onActivityResumed(activity);
}
}

@Override
public void onActivityStopped(Activity activity) {
List<ActivityLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
List<AbsLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
if (lifecycleListeners == null || lifecycleListeners.size() == 0) {
return;
}

List<ActivityLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
List<AbsLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
for (int i = 0; i < callbacks.size(); i++) {
callbacks.get(i).onActivityStopped(activity);
}
}

@Override
public void onActivityPaused(Activity activity) {
List<ActivityLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
List<AbsLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
if (lifecycleListeners == null || lifecycleListeners.size() == 0) {
return;
}

List<ActivityLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
List<AbsLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
for (int i = 0; i < callbacks.size(); i++) {
callbacks.get(i).onActivityPaused(activity);
}
}

@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
List<ActivityLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
List<AbsLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
if (lifecycleListeners == null || lifecycleListeners.size() == 0) {
return;
}

List<ActivityLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
List<AbsLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
for (int i = 0; i < callbacks.size(); i++) {
callbacks.get(i).onActivitySaveInstanceState(activity, outState);
}
Expand All @@ -128,25 +128,25 @@ public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
@Override
public void onActivityDestroyed(Activity activity) {
mActivityManager.remove(activity);
List<ActivityLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
List<AbsLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
if (lifecycleListeners == null || lifecycleListeners.size() == 0) {
return;
}

List<ActivityLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
List<AbsLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
for (int i = 0; i < callbacks.size(); i++) {
callbacks.get(i).onActivityDestroyed(activity);
}
}

@Override
public void onActivityStarted(Activity activity) {
List<ActivityLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
List<AbsLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
if (lifecycleListeners == null || lifecycleListeners.size() == 0) {
return;
}

List<ActivityLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
List<AbsLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
for (int i = 0; i < callbacks.size(); i++) {
callbacks.get(i).onActivityStarted(activity);
}
Expand All @@ -155,12 +155,12 @@ public void onActivityStarted(Activity activity) {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
mActivityManager.add(activity);
List<ActivityLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
List<AbsLifecycleListener> lifecycleListeners = mActivityLifecycleListeners.get(activity.getClass());
if (lifecycleListeners == null || lifecycleListeners.size() == 0) {
return;
}

List<ActivityLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
List<AbsLifecycleListener> callbacks = new ArrayList<>(lifecycleListeners);
for (int i = 0; i < callbacks.size(); i++) {
callbacks.get(i).onActivityCreated(activity, savedInstanceState);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@
*/
public class AlarmRestartImpl implements IRestartProduct {

public AlarmRestartImpl(){

}

@Override
public void restartApp(Context context) {
String packageName = context.getPackageName();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@
* </pre>
*/
public class EmptyRestartImpl implements IRestartProduct {

public EmptyRestartImpl(){

}

@Override
public void restartApp(Context context) {
AppLogUtils.w("IRestartApp:", "restart app empty");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@
*/
public class LauncherRestartImpl implements IRestartProduct {

public LauncherRestartImpl(){

}

@Override
public void restartApp(Context context) {
String packageName = context.getPackageName();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@
*/
public class ManifestRestartImpl implements IRestartProduct {

public ManifestRestartImpl(){

}

@Override
public void restartApp(Context context) {
relaunchApp(context,true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
*/
public class ServiceRestartImpl implements IRestartProduct {

public ServiceRestartImpl(){

}

@Override
public void restartApp(Context context) {
Intent intent = new Intent(context, KillSelfService.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import com.yc.activitymanager.ActivityLifecycleListener;
import com.yc.activitymanager.AbsLifecycleListener;
import com.yc.activitymanager.ActivityManager;
import com.yc.apploglib.AppLogHelper;
import com.yc.apploglib.config.AppLogFactory;
Expand Down Expand Up @@ -183,7 +183,7 @@ private void testActivity() {
ActivityManager.getInstance().appExist();
//这个是监听目标Activity的生命周期变化
ActivityManager.getInstance().registerActivityLifecycleListener(
CommonActivity.class,new ActivityLifecycleListener(){
CommonActivity.class,new AbsLifecycleListener(){
@Override
public void onActivityCreated(@Nullable Activity activity, Bundle savedInstanceState) {
super.onActivityCreated(activity, savedInstanceState);
Expand Down

0 comments on commit 92904da

Please sign in to comment.