Commit e2dba35a authored by fallenstardust's avatar fallenstardust

对网页赛事报名上传卡组直接打开卡组文件夹

对网页论坛bug反馈需要上传录像直接打开录像文件夹
parent 22ddb85b
......@@ -11,6 +11,7 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
......@@ -29,11 +30,9 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import com.tencent.smtt.export.external.interfaces.IX5WebViewBase;
import com.tencent.smtt.sdk.ValueCallback;
import com.tencent.smtt.sdk.WebChromeClient;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
import java.io.File;
import java.io.FileInputStream;
......@@ -47,8 +46,11 @@ import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.bean.ServerInfo;
import cn.garymb.ygomobile.bean.ServerList;
import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.file.FileActivity;
import cn.garymb.ygomobile.ui.file.FileOpenType;
import cn.garymb.ygomobile.ui.home.MainActivity;
import cn.garymb.ygomobile.ui.home.ServerListManager;
import cn.garymb.ygomobile.ui.mycard.MyCard;
import cn.garymb.ygomobile.ui.plus.DefWebChromeClient;
import cn.garymb.ygomobile.ui.plus.VUiKit;
import cn.garymb.ygomobile.ui.widget.WebViewPlus;
......@@ -63,7 +65,7 @@ import cn.garymb.ygomobile.utils.YGOUtil;
import ocgcore.DataManager;
import ocgcore.data.Card;
public class WebActivity extends BaseActivity implements View.OnClickListener{
public class WebActivity extends BaseActivity implements View.OnClickListener {
private static String TAG = "WebActivity";
private static final int FILE_CHOOSER_REQUEST = 100;
private ValueCallback<Uri[]> mFilePathCallback;
......@@ -180,13 +182,13 @@ public class WebActivity extends BaseActivity implements View.OnClickListener{
if (requestCode == FILE_CHOOSER_REQUEST) {
if (resultCode == RESULT_OK) {
if (mFilePathCallback != null) {
if(data != null && data.getClipData() != null) {
if (data != null && data.getClipData() != null) {
//有选择多个文件
int count = data.getClipData().getItemCount();
Log.i(TAG, "url count : " + count);
Uri[] uris = new Uri[count];
int currentItem = 0;
while(currentItem < count) {
while (currentItem < count) {
Uri fileUri = data.getClipData().getItemAt(currentItem).getUri();
uris[currentItem] = fileUri;
currentItem = currentItem + 1;
......@@ -323,14 +325,23 @@ public class WebActivity extends BaseActivity implements View.OnClickListener{
}
private void openFileChooseProcess(boolean isMulti) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("*/*");
if (isMulti) {
Log.e(TAG, "putExtra");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
Log.e(TAG,mWebViewPlus.getUrl());
if (mWebViewPlus.getUrl().contains(MyCard.mCommunityReportUrl)) {
Intent intent = FileActivity.getIntent(getActivity(), getString(R.string.dialog_select_file), null, AppsSettings.get().getReplayDir(), false, FileOpenType.SelectFile);
startActivityForResult(intent, FILE_CHOOSER_REQUEST);
} else if (mWebViewPlus.getUrl().equals(MyCard.mCompetitionUrl)) {
Intent intent = FileActivity.getIntent(getActivity(), getString(R.string.dialog_select_file), null, AppsSettings.get().getDeckDir(), false, FileOpenType.SelectFile);
startActivityForResult(intent, FILE_CHOOSER_REQUEST);
} else {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("*/*");
if (isMulti) {
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
}
startActivityForResult(Intent.createChooser(intent, getString(R.string.dialog_select_file)), FILE_CHOOSER_REQUEST);
}
startActivityForResult(Intent.createChooser(intent, "FileChooser"), FILE_CHOOSER_REQUEST);
}
public static void openFAQ(Context context, Card cardInfo) {
......
......@@ -48,7 +48,10 @@ public class MyCard {
private static final String mHomeUrl = "https://mycard.moe/mobile/";
private static final String mArenaUrl = "https://mycard.moe/ygopro/arena/";
public static final String mCommunityIndexUrl = "https://ygobbs.com/";
public static final String mCommunityReportUrl = "https://ygobbs.com/t/bug%E5%8F%8D%E9%A6%88/";
private static final String mCommunityUrl = "https://ygobbs.com/login";
public static final String mCompetitionUrl = "https://event.ygobbs.com/";
private static final String return_sso_url = "https://mycard.moe/mobile/?";
private static final String HOST_MC = "mycard.moe";
public static final String MC_MAIN_URL = "https://mycard.moe/mobile/ygopro/lobby";
......
......@@ -35,10 +35,13 @@ import com.tencent.smtt.sdk.WebView;
import java.text.MessageFormat;
import java.util.List;
import cn.garymb.ygomobile.AppsSettings;
import cn.garymb.ygomobile.YGOStarter;
import cn.garymb.ygomobile.base.BaseFragemnt;
import cn.garymb.ygomobile.lite.BuildConfig;
import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.file.FileActivity;
import cn.garymb.ygomobile.ui.file.FileOpenType;
import cn.garymb.ygomobile.ui.home.HomeActivity;
import cn.garymb.ygomobile.ui.mycard.base.OnJoinChatListener;
import cn.garymb.ygomobile.ui.mycard.bean.McUser;
......@@ -160,23 +163,35 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
@Override
public void openFileChooser(ValueCallback<Uri> valueCallback, String acceptType, String capture) {
uploadMessage = valueCallback;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
startActivityForResult(Intent.createChooser(i, "File Browser"), FILECHOOSER_RESULTCODE);
if (mWebViewPlus.getUrl().contains(MyCard.mCommunityReportUrl)) {
Intent intent = FileActivity.getIntent(getActivity(), getString(R.string.dialog_select_file), null, AppsSettings.get().getReplayDir(), false, FileOpenType.SelectFile);
startActivityForResult(intent, FILECHOOSER_RESULTCODE);
} else if (mWebViewPlus.getUrl().equals(MyCard.mCompetitionUrl)) {
Intent intent = FileActivity.getIntent(getActivity(), getString(R.string.dialog_select_file), null, AppsSettings.get().getDeckDir(), false, FileOpenType.SelectFile);
startActivityForResult(intent, FILECHOOSER_RESULTCODE);
} else {
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
startActivityForResult(Intent.createChooser(i, getString(R.string.dialog_select_file)), FILECHOOSER_RESULTCODE);
}
}
@Override
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> valueCallback, FileChooserParams fileChooserParams) {
mUploadCallbackAboveL = valueCallback;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
startActivityForResult(
Intent.createChooser(i, "File Browser"),
FILECHOOSER_RESULTCODE);
if (mWebViewPlus.getUrl().contains(MyCard.mCommunityReportUrl)) {
Intent intent = FileActivity.getIntent(getActivity(), getString(R.string.dialog_select_file), null, AppsSettings.get().getReplayDir(), false, FileOpenType.SelectFile);
startActivityForResult(intent, FILECHOOSER_RESULTCODE);
} else if (mWebViewPlus.getUrl().equals(MyCard.mCompetitionUrl)) {
Intent intent = FileActivity.getIntent(getActivity(), getString(R.string.dialog_select_file), null, AppsSettings.get().getDeckDir(), false, FileOpenType.SelectFile);
startActivityForResult(intent, FILECHOOSER_RESULTCODE);
} else {
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
startActivityForResult(Intent.createChooser(i, getString(R.string.dialog_select_file)), FILECHOOSER_RESULTCODE);
}
return true;
}
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment