詹子聪 5 anni fa
parent
commit
ba99e1e6a3

+ 1 - 1
app/src/main/java/com/miekir/eden/base/ApiService.java

@@ -122,5 +122,5 @@ public interface ApiService {
 
     /**获取下载文件需要的密钥*/
     @POST("/eden/api/getTorrentSecret")
-    Observable<BaseResponse<String>> getTorrentSecret(@Body Map<String, Object> body);
+    Observable<BaseResponse<Map<String, Object>>> getTorrentSecret(@Body Map<String, Object> body);
 }

+ 3 - 0
app/src/main/java/com/miekir/eden/manager/UserInfoManager.java

@@ -61,6 +61,9 @@ public class UserInfoManager {
     }
 
     public SystemBean getSystemBean() {
+        if (systemBean == null) {
+            systemBean = new SystemBean();
+        }
         return systemBean;
     }
 

+ 9 - 3
app/src/main/java/com/miekir/eden/ui/home/goods/detail/GoodsDetailActivity.java

@@ -25,6 +25,7 @@ import com.miekir.mvp.presenter.InjectPresenter;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Copyright (C), 2019-2020, Miekir
@@ -191,15 +192,20 @@ public class GoodsDetailActivity extends BaseBeiActivity implements View.OnClick
 
     }
 
+    private static final String URL_TORRENT_FORMAT = "%seden/api/torrent?s=%s&f=%s&u=%s";
     @Override
-    public void onGetTorrentSecretResult(boolean success, String result) {
+    public void onGetTorrentSecretResult(boolean success, Map<String, Object> result) {
         dismissLoading();
-        if (!success || TextUtils.isEmpty(result)) {
+        if (!success || result == null) {
             ToastTool.showShort("获取下载地址失败");
             return;
         }
 
+        String s = (String) result.get("s");
+        String f = (String) result.get("f");
+        String u = (String) result.get("u");
+
         ToastTool.showShort("已复制资源链接");
-        SystemTool.copyText(this, BuildConfig.BASE_URL+"eden/api/torrent?s="+result);
+        SystemTool.copyText(this, String.format(URL_TORRENT_FORMAT, BuildConfig.BASE_URL, s, f, u));
     }
 }

+ 3 - 1
app/src/main/java/com/miekir/eden/ui/home/goods/detail/ISeeView.java

@@ -2,6 +2,8 @@ package com.miekir.eden.ui.home.goods.detail;
 
 import com.miekir.mvp.view.IView;
 
+import java.util.Map;
+
 /**
  *
  *
@@ -10,5 +12,5 @@ import com.miekir.mvp.view.IView;
  */
 public interface ISeeView extends IView {
     void onSeeResult(boolean success, String result);
-    void onGetTorrentSecretResult(boolean success, String result);
+    void onGetTorrentSecretResult(boolean success, Map<String, Object> result);
 }

+ 1 - 1
app/src/main/java/com/miekir/eden/ui/home/goods/detail/MagnetAdapter.java

@@ -40,7 +40,7 @@ public class MagnetAdapter extends BaseQuickAdapter<MagnetBean, BaseViewHolder>
             if (mContext instanceof BaseBeiActivity) {
                 ((BaseBeiActivity) mContext).showLoading();
             }
-            seePresenter.getTorrentSecret(magnetBean.url);
+            seePresenter.getTorrentSecret(magnetBean);
         });
     }
 

+ 17 - 9
app/src/main/java/com/miekir/eden/ui/home/goods/detail/SeePresenter.java

@@ -4,6 +4,7 @@ import android.text.TextUtils;
 
 import com.miekir.eden.base.ApiService;
 import com.miekir.eden.net.RetrofitHelper;
+import com.miekir.eden.ui.home.goods.MagnetBean;
 import com.miekir.mvp.presenter.BasePresenter;
 import com.miekir.network.core.base.BaseObserver;
 
@@ -48,26 +49,33 @@ public class SeePresenter extends BasePresenter<ISeeView> {
                 });
     }
 
-    public void getTorrentSecret(String fileName) {
-        if (TextUtils.isEmpty(fileName)) {
-            getView().onGetTorrentSecretResult(false, "获取下载地址失败");
+    public void getTorrentSecret(MagnetBean magnetBean) {
+        if (TextUtils.isEmpty(magnetBean.url) || TextUtils.isEmpty(magnetBean.text)) {
+            getView().onGetTorrentSecretResult(false, null);
             return;
         }
 
-        String realFileName = fileName;
-        if (fileName.startsWith("torrent")) {
-            realFileName = fileName.substring("torrent".length());
+        String realUrl = magnetBean.url;
+        if (realUrl.startsWith("torrent/")) {
+            realUrl = realUrl.substring("torrent/".length());
         }
+
+        String realFileName = magnetBean.text;
+        if (!realFileName.endsWith(".torrent")) {
+            realFileName = realFileName+".torrent";
+        }
+
         Map<String, Object> map = new HashMap<>();
+        map.put("fileUrl", realUrl);
         map.put("fileName", realFileName);
         RetrofitHelper.getInstance()
                 .getRequestApi(ApiService.class)
                 .getTorrentSecret(map)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new BaseObserver<String>() {
+                .subscribe(new BaseObserver<Map<String, Object>>() {
                     @Override
-                    public void onSuccess(String result) {
+                    public void onSuccess(Map<String, Object> result) {
                         if (getView() != null) {
                             getView().onGetTorrentSecretResult(true, result);
                         }
@@ -76,7 +84,7 @@ public class SeePresenter extends BasePresenter<ISeeView> {
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onGetTorrentSecretResult(false, TextUtils.isEmpty(errMsg) ? "获取下载地址失败" : errMsg);
+                            getView().onGetTorrentSecretResult(false, null);
                         }
                     }
                 });

+ 5 - 2
app/src/main/java/com/miekir/eden/ui/mine/login/LoginActivity.java

@@ -115,8 +115,11 @@ public class LoginActivity extends BaseBeiActivity implements View.OnClickListen
     @Override
     public void onGetConfigResult(boolean success, String message, SystemBean resultBean) {
         dismissLoading();
-        if (success && resultBean != null) {
-            UserInfoManager.getInstance().setSystemBean(resultBean);
+        if (success) {
+            if (resultBean != null) {
+                UserInfoManager.getInstance().setSystemBean(resultBean);
+            }
+
             ToastTool.showShort("登录成功");
             startActivity(new Intent(this, TabActivity.class));
             finish();

+ 62 - 62
network/network.iml

@@ -10,16 +10,16 @@
     </facet>
     <facet type="android" name="Android">
       <configuration>
-        <option name="SELECTED_BUILD_VARIANT" value="devDebug" />
-        <option name="ASSEMBLE_TASK_NAME" value="assembleDevDebug" />
-        <option name="COMPILE_JAVA_TASK_NAME" value="compileDevDebugSources" />
+        <option name="SELECTED_BUILD_VARIANT" value="relDebug" />
+        <option name="ASSEMBLE_TASK_NAME" value="assembleRelDebug" />
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileRelDebugSources" />
         <afterSyncTasks>
-          <task>generateDevDebugSources</task>
+          <task>generateRelDebugSources</task>
         </afterSyncTasks>
         <option name="ALLOW_USER_CONFIGURATION" value="false" />
         <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
         <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
-        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/resValues/dev/debug" />
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/build/generated/res/resValues/rel/debug" />
         <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="" />
         <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
         <option name="PROJECT_TYPE" value="1" />
@@ -27,65 +27,65 @@
     </facet>
   </component>
   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
-    <output url="file://$MODULE_DIR$/build/intermediates/javac/devDebug/classes" />
-    <output-test url="file://$MODULE_DIR$/build/intermediates/javac/devDebugUnitTest/classes" />
+    <output url="file://$MODULE_DIR$/build/intermediates/javac/relDebug/classes" />
+    <output-test url="file://$MODULE_DIR$/build/intermediates/javac/relDebugUnitTest/classes" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/devDebug/out" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/devDebug/compileDevDebugAidl/out" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/dev/debug" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/devDebug/compileDevDebugRenderscript/out" isTestSource="false" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/dev/debug" type="java-resource" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/dev/debug" type="java-resource" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/devDebug/res" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/devDebug/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/devDebug/assets" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/devDebug/aidl" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/devDebug/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/devDebug/rs" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/devDebug/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/devDebugAndroidTest/out" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/devDebugAndroidTest/compileDevDebugAndroidTestAidl/out" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/dev/debug" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/devDebugAndroidTest/compileDevDebugAndroidTestRenderscript/out" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/dev/debug" type="java-test-resource" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/dev/debug" type="java-test-resource" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDevDebug/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDevDebug/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDevDebug/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDevDebug/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDevDebug/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDevDebug/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDevDebug/shaders" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/devDebugUnitTest/out" isTestSource="true" generated="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDevDebug/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDevDebug/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDevDebug/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDevDebug/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDevDebug/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDevDebug/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDevDebug/shaders" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/dev/res" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/dev/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/dev/assets" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/dev/aidl" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/dev/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/dev/rs" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/dev/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDev/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDev/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDev/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDev/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDev/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDev/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDev/shaders" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDev/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDev/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDev/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDev/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDev/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDev/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/testDev/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/relDebug/out" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/relDebug/compileRelDebugAidl/out" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/rel/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/relDebug/compileRelDebugRenderscript/out" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/rel/debug" type="java-resource" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/rel/debug" type="java-resource" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/relDebug/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/relDebug/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/relDebug/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/relDebug/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/relDebug/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/relDebug/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/relDebug/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/relDebugAndroidTest/out" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/relDebugAndroidTest/compileRelDebugAndroidTestAidl/out" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/rel/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/relDebugAndroidTest/compileRelDebugAndroidTestRenderscript/out" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/rel/debug" type="java-test-resource" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/rel/debug" type="java-test-resource" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRelDebug/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRelDebug/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRelDebug/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRelDebug/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRelDebug/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRelDebug/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRelDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/ap_generated_sources/relDebugUnitTest/out" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelDebug/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelDebug/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelDebug/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelDebug/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelDebug/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelDebug/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRelDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/rel/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/rel/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/rel/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/rel/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/rel/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/rel/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/rel/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRel/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRel/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRel/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRel/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRel/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRel/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestRel/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRel/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRel/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRel/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRel/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRel/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRel/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testRel/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />