Commit 49f78960 by amateur

1

1 parent dfa7cc02
...@@ -65,13 +65,14 @@ android { ...@@ -65,13 +65,14 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
buildConfigField "boolean", "SHOW_INPUT", "false" buildConfigField "boolean", "SHOW_INPUT", "false"
} }
pro { // 预生产 pro { // 模拟
resValue "string", "app_name", "Nafmii-pro" resValue "string", "app_name", "Nafmii-pro"
applicationIdSuffix "pro"
} }
beta { // 测试 uat { // 测试
resValue "string", "app_name", "Nafmii-beta" resValue "string", "app_name", "Nafmii-uat"
applicationIdSuffix "beta" applicationIdSuffix "uat"
} }
debug { debug {
minifyEnabled false minifyEnabled false
......
...@@ -86,4 +86,6 @@ public class DownloadDialog extends DialogFragment { ...@@ -86,4 +86,6 @@ public class DownloadDialog extends DialogFragment {
} }
}); });
} }
} }
...@@ -99,6 +99,10 @@ public class OkhttpApi { ...@@ -99,6 +99,10 @@ public class OkhttpApi {
} }
}; };
} }
if (file.getName().length() > 50) {
}
Request request = new Request.Builder().url(url).build(); Request request = new Request.Builder().url(url).build();
IDownListener finalDownListener = downListener; IDownListener finalDownListener = downListener;
getInstance().newCall(request).enqueue(new Callback() { getInstance().newCall(request).enqueue(new Callback() {
......
package com.polysoft.nafmii.utils; package com.polysoft.nafmii.utils;
import android.os.Environment; import android.os.Environment;
import android.text.TextUtils;
import java.io.File; import java.io.File;
...@@ -47,4 +48,31 @@ public class FileUtils { ...@@ -47,4 +48,31 @@ public class FileUtils {
} }
file.delete(); file.delete();
} }
public static String getFileName(String name) {
int nameMaxLength = 60;
if (!TextUtils.isEmpty(name)) {
if (name.length() > nameMaxLength) {
String newname = name.substring(0, nameMaxLength);
String[] split = name.split("\\.");
if (split.length > 1) {
return newname + "." + split[split.length - 1];
}
return newname;
}
return name;
}
return "";
}
public static String getUrlFileName(String url) {
if (!TextUtils.isEmpty(url)) {
String[] split = url.split("/");
if (split.length > 1) {
String name = split[split.length - 1];
return getFileName(name);
}
}
return "";
}
} }
...@@ -26,6 +26,7 @@ import com.polysoft.nafmii.fragment.dialog.FingerprintDialog; ...@@ -26,6 +26,7 @@ import com.polysoft.nafmii.fragment.dialog.FingerprintDialog;
import com.polysoft.nafmii.jpush.JPushMgr; import com.polysoft.nafmii.jpush.JPushMgr;
import com.polysoft.nafmii.utils.BitmapUtils; import com.polysoft.nafmii.utils.BitmapUtils;
import com.polysoft.nafmii.utils.CtxUtils; import com.polysoft.nafmii.utils.CtxUtils;
import com.polysoft.nafmii.utils.FileUtils;
import com.polysoft.nafmii.utils.IntentUtils; import com.polysoft.nafmii.utils.IntentUtils;
import com.polysoft.nafmii.utils.PermissionUtils; import com.polysoft.nafmii.utils.PermissionUtils;
import com.polysoft.nafmii.utils.StatusBarUtils; import com.polysoft.nafmii.utils.StatusBarUtils;
...@@ -33,6 +34,8 @@ import com.polysoft.nafmii.wechat.ShareBean; ...@@ -33,6 +34,8 @@ import com.polysoft.nafmii.wechat.ShareBean;
import com.polysoft.nafmii.wechat.WechatApi; import com.polysoft.nafmii.wechat.WechatApi;
import com.whaty.nafmii.activity.OutsideWebviewActivity; import com.whaty.nafmii.activity.OutsideWebviewActivity;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -189,9 +192,20 @@ public class NativeApi { ...@@ -189,9 +192,20 @@ public class NativeApi {
new JsInterfaceHandler(handler).parse(params, (data, js) -> { new JsInterfaceHandler(handler).parse(params, (data, js) -> {
String name = data.getString("name"); String name = data.getString("name");
String url = data.getString("url"); String url = data.getString("url");
if (TextUtils.isEmpty(url)) {
js.fail("下载地址错误");
return;
}
String newName = FileUtils.getFileName(name);
if (!TextUtils.isEmpty(newName)) {
name = newName;
} else {
name = FileUtils.getUrlFileName(url);
}
final String fileName = name;
this.mActivity.runOnUiThread(()-> { this.mActivity.runOnUiThread(()-> {
FragmentManager manager = this.handler.getFragmentManager(); FragmentManager manager = this.handler.getFragmentManager();
DownloadDialog.show(manager, url, name); DownloadDialog.show(manager, url, fileName);
}); });
js.success(null); js.success(null);
}); });
...@@ -238,6 +252,7 @@ public class NativeApi { ...@@ -238,6 +252,7 @@ public class NativeApi {
Intent intent= new Intent(); Intent intent= new Intent();
intent.setAction("android.intent.action.VIEW"); intent.setAction("android.intent.action.VIEW");
String linkUrl = data.getString("linkUrl"); String linkUrl = data.getString("linkUrl");
linkUrl = URLDecoder.decode(linkUrl);
Uri content_url = Uri.parse(linkUrl); Uri content_url = Uri.parse(linkUrl);
intent.setData(content_url); intent.setData(content_url);
mActivity.startActivity(intent); mActivity.startActivity(intent);
......
...@@ -22,6 +22,10 @@ import com.polysoft.nafmii.utils.ToastUtils; ...@@ -22,6 +22,10 @@ import com.polysoft.nafmii.utils.ToastUtils;
import com.polysoft.nafmii.webview.IWebview; import com.polysoft.nafmii.webview.IWebview;
import com.whaty.nafmii.R; import com.whaty.nafmii.R;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
public class OutsideWebviewActivity extends WebviewActivity { public class OutsideWebviewActivity extends WebviewActivity {
private OpenUrlBean mBean; private OpenUrlBean mBean;
...@@ -120,6 +124,6 @@ public class OutsideWebviewActivity extends WebviewActivity { ...@@ -120,6 +124,6 @@ public class OutsideWebviewActivity extends WebviewActivity {
} }
} }
} }
return url; // 外链 return URLDecoder.decode(url);
} }
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!