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.api.ApiConfig;
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.bean.Func;
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.Prefers;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.api.Updater;
import com.fongmi.android.tv.utils.Utils;
import com.google.common.collect.Lists;

@ -1,9 +1,13 @@
package com.fongmi.android.tv;
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.os.HandlerCompat;
import com.fongmi.android.tv.ui.activity.CrashActivity;
@ -18,6 +22,7 @@ public class App extends Application {
private final ExecutorService executor;
private final Handler handler;
private static App instance;
private Activity activity;
public App() {
instance = this;
@ -29,6 +34,10 @@ public class App extends Application {
return instance;
}
public static Activity getActivity() {
return get().activity;
}
public static void execute(Runnable runnable) {
get().executor.execute(runnable);
}
@ -50,9 +59,48 @@ public class App extends Application {
for (Runnable r : runnable) get().handler.removeCallbacks(r);
}
private void setActivity(Activity activity) {
this.activity = activity;
}
@Override
public void onCreate() {
super.onCreate();
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