registerActivityLifecycleCallbacks

pull/123/head
FongMi 3 years ago
parent b5ec44bf74
commit ef8f1a48e3
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 48
      app/src/main/java/com/fongmi/android/tv/App.java

@ -17,6 +17,7 @@ import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R; import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.ApiConfig; import com.fongmi.android.tv.api.ApiConfig;
import com.fongmi.android.tv.api.LiveConfig; import com.fongmi.android.tv.api.LiveConfig;
import com.fongmi.android.tv.api.Updater;
import com.fongmi.android.tv.api.WallConfig; import com.fongmi.android.tv.api.WallConfig;
import com.fongmi.android.tv.bean.Func; import com.fongmi.android.tv.bean.Func;
import com.fongmi.android.tv.bean.History; import com.fongmi.android.tv.bean.History;
@ -42,7 +43,6 @@ import com.fongmi.android.tv.utils.Clock;
import com.fongmi.android.tv.utils.Notify; import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.Prefers; import com.fongmi.android.tv.utils.Prefers;
import com.fongmi.android.tv.utils.ResUtil; import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.api.Updater;
import com.fongmi.android.tv.utils.Utils; import com.fongmi.android.tv.utils.Utils;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;

@ -1,9 +1,13 @@
package com.fongmi.android.tv; package com.fongmi.android.tv;
import android.app.Activity;
import android.app.Application; import android.app.Application;
import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.os.HandlerCompat; import androidx.core.os.HandlerCompat;
import com.fongmi.android.tv.ui.activity.CrashActivity; import com.fongmi.android.tv.ui.activity.CrashActivity;
@ -18,6 +22,7 @@ public class App extends Application {
private final ExecutorService executor; private final ExecutorService executor;
private final Handler handler; private final Handler handler;
private static App instance; private static App instance;
private Activity activity;
public App() { public App() {
instance = this; instance = this;
@ -29,6 +34,10 @@ public class App extends Application {
return instance; return instance;
} }
public static Activity getActivity() {
return get().activity;
}
public static void execute(Runnable runnable) { public static void execute(Runnable runnable) {
get().executor.execute(runnable); get().executor.execute(runnable);
} }
@ -50,9 +59,48 @@ public class App extends Application {
for (Runnable r : runnable) get().handler.removeCallbacks(r); for (Runnable r : runnable) get().handler.removeCallbacks(r);
} }
private void setActivity(Activity activity) {
this.activity = activity;
}
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
CaocConfig.Builder.create().backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT).errorActivity(CrashActivity.class).apply(); CaocConfig.Builder.create().backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT).errorActivity(CrashActivity.class).apply();
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {
if (activity != getActivity()) setActivity(activity);
}
@Override
public void onActivityStarted(@NonNull Activity activity) {
if (activity != getActivity()) setActivity(activity);
}
@Override
public void onActivityResumed(@NonNull Activity activity) {
if (activity != getActivity()) setActivity(activity);
}
@Override
public void onActivityPaused(@NonNull Activity activity) {
if (activity == getActivity()) setActivity(null);
}
@Override
public void onActivityStopped(@NonNull Activity activity) {
if (activity == getActivity()) setActivity(null);
}
@Override
public void onActivityDestroyed(@NonNull Activity activity) {
if (activity == getActivity()) setActivity(null);
}
@Override
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) {
}
});
} }
} }
Loading…
Cancel
Save