我使用ImoocPluginManager来进行下载与更新,当getUpdatePluginInfo版本对比返回false的时候并不会走到跳转逻辑是什么情况

来源:11-12 插件化全面总结

Zecyn_Cheung

2020-07-08

public Observable<PluginInfo> loadPlugin(@NonNull final String pluginName) {
    return fetchPluginInfo(pluginName).flatMap(
        new Function<PluginInfo, ObservableSource<HomePluginConfigInfo>>() {
          @Override public ObservableSource<HomePluginConfigInfo> apply(PluginInfo info) {
            return info == null ? getDownloadPluginInfo(pluginName)
                : getUpdatePluginInfo(pluginName, info);
          }
        }).flatMap(new Function<HomePluginConfigInfo, ObservableSource<File>>() {
      @Override public ObservableSource<File> apply(HomePluginConfigInfo homePluginConfigInfo) {
        //下载插件
        return downloadPlugin(homePluginConfigInfo.mPluginUrl, homePluginConfigInfo.mLocalPath);
      }
    }).observeOn(Schedulers.io()).flatMap(new Function<File, ObservableSource<PluginInfo>>() {
      @Override public ObservableSource<PluginInfo> apply(File file) {
        //插件的安装
        return installPlugin(file.getAbsolutePath());
      }
    }).doOnNext(new Consumer<PluginInfo>() {
      @Override public void accept(PluginInfo pluginInfo) {
        //插件预加载
        if (pluginInfo != null) preLoadPlugin(pluginInfo);
      }
    });
  }
写回答

1回答

qndroid

2020-07-10

能不能加一些日志或者断点跟进一下,看看哪里出问题了,直接贴源码,看不出问题所在

0
3
Zecyn_Cheung
回复
qndroid
嗯嗯,Log我都是打过之后才问的你,subscribe就走了一个事件结束的方法onComplete,其他的方法都没走。
2020-07-10
共3条回复

还原大厂App重构过程 完成企业级项目重构

真实还原大厂App重构过程,进击高级工程师必备

448 学习 · 57 问题

查看课程