Support doh - part 4

pull/123/head
FongMi 3 years ago
parent 9a94d51e64
commit 7b04dd9ff3
  1. 18
      app/src/main/java/com/fongmi/android/tv/App.java
  2. 6
      app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java
  3. 4
      app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java
  4. 4
      app/src/main/java/com/fongmi/android/tv/api/WallConfig.java
  5. 4
      app/src/main/java/com/fongmi/android/tv/server/process/ActionRequestProcess.java
  6. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/KeepActivity.java
  7. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ReceiveDialog.java
  8. 22
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java
  9. 2
      catvod/src/main/java/com/github/catvod/bean/Doh.java

@ -2,8 +2,6 @@ package com.fongmi.android.tv;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
@ -38,12 +36,6 @@ public class App extends Application {
gson = new Gson();
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
setDoh(base);
}
public static App get() {
return instance;
}
@ -77,15 +69,6 @@ public class App extends Application {
for (Runnable r : runnable) get().handler.removeCallbacks(r);
}
public static void restart(Class<?> clz) {
App.activity().startActivity(Intent.makeRestartActivityTask(new Intent(get(), clz).getComponent()));
System.exit(0);
}
private void setDoh(Context context) {
OkHttp.get().setDoh(context, Doh.objectFrom(Prefers.getDoh()));
}
private void setActivity(Activity activity) {
this.activity = activity;
}
@ -93,6 +76,7 @@ public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
OkHttp.get().setDoh(this, Doh.objectFrom(Prefers.getDoh()));
CaocConfig.Builder.create().backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT).errorActivity(CrashActivity.class).apply();
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override

@ -80,6 +80,10 @@ public class ApiConfig {
return get().getParses().size() > 0;
}
public static void load(Config config, Callback callback) {
get().clear().config(config).load(callback);
}
public ApiConfig init() {
this.ads = null;
this.wall = null;
@ -258,7 +262,7 @@ public class ApiConfig {
public List<Doh> getDoh() {
List<Doh> items = new ArrayList<>();
items.add(Doh.create(App.get()));
items.add(Doh.system(App.get()));
items.addAll(doh);
return items;
}

@ -61,6 +61,10 @@ public class LiveConfig {
return getUrl() != null && getUrl().length() > 0;
}
public static void load(Config config, Callback callback) {
get().clear().config(config).load(callback);
}
public LiveConfig init() {
this.home = null;
this.config = Config.live();

@ -44,6 +44,10 @@ public class WallConfig {
return drawable;
}
public static void load(Config config, Callback callback) {
get().clear().config(config).load(callback);
}
public WallConfig init() {
this.config = Config.wall();
return this;

@ -118,7 +118,7 @@ public class ActionRequestProcess implements RequestProcess {
if (ApiConfig.get().getConfig().equals(config)) {
History.sync(targets);
} else {
ApiConfig.get().clear().config(config).load(getCallback(targets));
ApiConfig.load(config, getCallback(targets));
}
}
@ -142,7 +142,7 @@ public class ActionRequestProcess implements RequestProcess {
List<Config> configs = Config.arrayFrom(params.get("configs"));
List<Keep> targets = Keep.arrayFrom(params.get("targets"));
if (ApiConfig.getUrl() == null && configs.size() > 0) {
ApiConfig.get().clear().config(Config.find(configs.get(0), 0)).load(getCallback(configs, targets));
ApiConfig.load(Config.find(configs.get(0), 0), getCallback(configs, targets));
} else {
Keep.sync(configs, targets);
}

@ -79,7 +79,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis
}
private void loadConfig(Config config, Keep item) {
ApiConfig.get().clear().config(config).load(true, new Callback() {
ApiConfig.load(config, new Callback() {
@Override
public void success() {
DetailActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName());

@ -75,7 +75,7 @@ public class ReceiveDialog extends BaseDialog {
dismiss();
} else {
showProgress();
ApiConfig.get().clear().config(event.getConfig()).load(getCallback());
ApiConfig.load(event.getConfig(), getCallback());
}
}

@ -27,7 +27,6 @@ import com.fongmi.android.tv.impl.Callback;
import com.fongmi.android.tv.impl.ConfigCallback;
import com.fongmi.android.tv.impl.LiveCallback;
import com.fongmi.android.tv.impl.SiteCallback;
import com.fongmi.android.tv.ui.activity.MainActivity;
import com.fongmi.android.tv.ui.base.BaseFragment;
import com.fongmi.android.tv.ui.custom.dialog.ConfigDialog;
import com.fongmi.android.tv.ui.custom.dialog.HistoryDialog;
@ -40,6 +39,7 @@ import com.fongmi.android.tv.utils.Prefers;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.bean.Doh;
import com.github.catvod.net.OkHttp;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.permissionx.guolindev.PermissionX;
@ -134,23 +134,23 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
switch (config.getType()) {
case 0:
Notify.progress(getActivity());
ApiConfig.load(config, getCallback());
mBinding.vodUrl.setText(config.getDesc());
ApiConfig.get().clear().config(config).load(getCallback(config));
break;
case 1:
Notify.progress(getActivity());
LiveConfig.load(config, getCallback());
mBinding.liveUrl.setText(config.getDesc());
LiveConfig.get().clear().config(config).load(getCallback(config));
break;
case 2:
Notify.progress(getActivity());
WallConfig.load(config, getCallback());
mBinding.wallUrl.setText(config.getDesc());
WallConfig.get().clear().config(config).load(getCallback(config));
break;
}
}
private Callback getCallback(Config config) {
private Callback getCallback() {
return new Callback() {
@Override
public void success() {
@ -160,7 +160,6 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
@Override
public void error(int resId) {
Notify.show(resId);
config.delete();
setConfig();
}
};
@ -295,12 +294,19 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
private void setDoh(View view) {
new MaterialAlertDialogBuilder(getActivity()).setTitle(R.string.setting_doh).setNegativeButton(R.string.dialog_negative, null).setSingleChoiceItems(getDohList(), getDohIndex(), (dialog, which) -> {
Prefers.putDoh(ApiConfig.get().getDoh().get(which).toString());
App.post(() -> App.restart(MainActivity.class), 250);
setDoh(ApiConfig.get().getDoh().get(which));
dialog.dismiss();
}).show();
}
private void setDoh(Doh doh) {
Notify.progress(getActivity());
Prefers.putDoh(doh.toString());
OkHttp.get().setDoh(App.get(), doh);
mBinding.dohText.setText(doh.getName());
ApiConfig.load(Config.vod(), getCallback());
}
private void onCache(View view) {
FileUtil.clearCache(new Callback() {
@Override

@ -26,7 +26,7 @@ public class Doh {
@SerializedName("ips")
private List<String> ips;
public static Doh create(Context context) {
public static Doh system(Context context) {
return new Doh().name(context.getString(R.string.system));
}

Loading…
Cancel
Save