Commit e2dba35a authored by fallenstardust's avatar fallenstardust

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

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