AssimilateTranslate/app/src/main/java/com/assimilate/alltrans/fragments/TranslateCameraFragment.java
2024-07-10 10:52:21 +08:00

297 lines
12 KiB
Java

package com.assimilate.alltrans.fragments;
import androidx.fragment.app.Fragment;
public class TranslateCameraFragment extends Fragment {
// private ActivityResultLauncher<Intent> activityLauncher;
// private ActivityResultLauncher<String> permissionLauncher;
//
// private FragmentTranslateCameraBinding mBinding;
//
// private TextToSpeech tts;
//
// private boolean translating = false;
// private boolean adLoading = false; // 广告是否处于加载中
// private boolean collectCurrent = false;
// private String sourceText = ""; // 可能会有一种屌毛,翻译完成后,先去输入框删几个字符,然后再去点击收藏按钮。所以每次翻译前备份一下
//
// @Override
// public void onCreate(@Nullable Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// activityLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
// @Override
// public void onActivityResult(ActivityResult result) {
// if (Activity.RESULT_OK == result.getResultCode() && null != result.getData()) {
// Intent data = result.getData();
// String recognizedText = data.getStringExtra("recognizedText");
// if (!TextUtils.isEmpty(recognizedText)) {
// mBinding.inputText.setText(recognizedText);
// translate(recognizedText);
// }
// }
// }
// });
// permissionLauncher = registerForActivityResult(new ActivityResultContracts.RequestPermission(), new ActivityResultCallback<Boolean>() {
// @Override
// public void onActivityResult(Boolean result) {
// if (result.booleanValue()) {
// launchCameraApi();
// } else {
// Widget.makeToast(getActivity(), "permission denied");
// }
// }
// });
//
// translating = false;
// adLoading = false;
// collectCurrent = false;
//
// tts = new TextToSpeech(getActivity(), new TextToSpeech.OnInitListener() {
// @Override
// public void onInit(int status) {
// if (null != tts && TextToSpeech.SUCCESS == status)
// tts.setLanguage(Locale.getDefault());
// }
// });
// }
//
// @Override
// public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// mBinding = FragmentTranslateCameraBinding.inflate(getLayoutInflater());
//
// // 朗读原文
// mBinding.speakSource.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// String speech = mBinding.result.getText().toString().trim();
// if (!TextUtils.isEmpty(speech)) {
// if (null != tts
// && TextToSpeech.LANG_NOT_SUPPORTED != tts.isLanguageAvailable(Locale.getDefault())) {
// tts.speak(speech, 0, null, null);
// }
// }
// }
// });
// // 清空翻译输入框与结果文本
// mBinding.clear.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// mBinding.result.setText("");
// mBinding.inputText.setText("");
//
// reset();
// }
// });
// // 朗读译文
// mBinding.speakTarget.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// String speech = mBinding.result.getText().toString().trim();
// if (!translating && !TextUtils.isEmpty(speech)) {
// if (null != tts
// && TextToSpeech.LANG_NOT_SUPPORTED != tts.isLanguageAvailable(Locale.getDefault())) {
// tts.speak(speech, 0, null, null);
// }
// }
// }
// });
// // 分享译文
// mBinding.shareTrans.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// if (translating) {
// Widget.makeToast(getActivity(), "Translating...");
// return;
// }
//
// final String share = mBinding.result.getText().toString().trim();
// if (!TextUtils.isEmpty(share)) {
// Intent intent = new Intent(Intent.ACTION_SEND);
// intent.setType("text/plain");
// intent.putExtra(Intent.EXTRA_TEXT, share);
// startActivity(Intent.createChooser(intent, "Share " + getString(R.string.app_name)));
// }
// }
// });
// // 复制到粘贴板
// mBinding.copyTrans.setOnClickListener(new View.OnClickListener() {
// private final String tip = "Copied to clipboard!";
// @Override
// public void onClick(View v) {
// final String share = mBinding.result.getText().toString().trim();
// if (!translating && !TextUtils.isEmpty(share)) {
// ClipboardManager clipboardManager = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
// ClipData clipData = ClipData.newPlainText("targetValue", share);
// clipboardManager.setPrimaryClip(clipData);
// Widget.makeToast(getActivity(), tip);
// }
// }
// });
// // 收藏按钮:翻译中禁止收藏, 无原文禁止收藏,无译文禁止收藏
// mBinding.collectTrans.setOnClickListener(new View.OnClickListener() {
// private DbTranslation dbTranslation;
//
// @Override
// public void onClick(View v) {
// if (translating) return;
//
// final String sourceTxt = sourceText;
// if (TextUtils.isEmpty(sourceTxt)) return;
//
// if (collectCurrent) {
// collectCurrent = false;
// getDbTranslation(getActivity()).collectJust(false);
// mBinding.collectTrans.setImageResource(R.mipmap.trw_ic_collecttrans);
// } else {
// collectCurrent = true;
// getDbTranslation(getActivity()).collectJust(true);
// mBinding.collectTrans.setImageResource(R.mipmap.trw_ic_collectedtrans);
// }
// }
//
// private DbTranslation getDbTranslation(Context context) {
// if (null == dbTranslation) {
// dbTranslation = new DbTranslation(context);
// }
// return dbTranslation;
// }
// });
//
// mBinding.changeLanguage.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// launchLanguageSet();
// }
// });
//
// return mBinding.getRoot();
// }
//
// @Override
// public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
// super.onViewCreated(view, savedInstanceState);
// }
//
// @Override
// public void onResume() {
// super.onResume();
//
// // 每次回来可能会更新
// mBinding.languageSource.setText(TranslateWordApp.getSourceLanguage());
// mBinding.languageTarget.setText(TranslateWordApp.getTargetLanguage());
// mBinding.sourceLanguage2.setText(TranslateWordApp.getSourceLanguage());
// mBinding.targetLanguage2.setText(TranslateWordApp.getTargetLanguage());
//
// // TODO: 可以判断是否需要再次请求原生广告
// }
//
// @Override
// public void onStop() {
// super.onStop();
//
// if (null != tts) tts.stop();
// }
//
// @Override
// public void onDestroy() {
// super.onDestroy();
// if (null != tts) tts.shutdown();
// }
//
// public void launchCamera() {
// if (withCameraPermission()) {
// launchCameraApi();
// } else {
// if (null != permissionLauncher) {
// permissionLauncher.launch(Manifest.permission.CAMERA);
// }
// }
// }
//
// private void launchCameraApi() {
// if (null != activityLauncher) {
// activityLauncher.launch(new Intent(getActivity(), TranslateCameraActivity.class));
// }
// }
//
// private void translate(@NonNull final String text) {
// // step1. 叫用户检查网络连接
// if (translating) {
// // 第一次点击翻译按钮后 可能会延迟响应结果,翻译期间再次点击翻译按钮无效
// Logger.d("log", "translating(not post data)...");
// return;
// }
// Logger.d("log", "translating...");
// reset();
//
// translating = true;
// final HashMap<String, String> param = new HashMap<>();
// param.put("sourceLanguage", TranslateWordApp.getSourceLanguageCode());
// param.put("translationLanguage", TranslateWordApp.getTargetLanguageCode());
// param.put("text", text);
//
// sourceText = text;
// mBinding.result.setText("translating...");
// Translator<GoogleTranslator.GoogleTranslateCallback> translator = new GoogleTranslator();
// translator.translate(param, new GoogleTranslator.GoogleTranslateCallback() {
// @Override
// public void onResponse(String val) {
// translating = false;
//
// if (!TextUtils.isEmpty(val)) {
// TranslateMainActivity activity = null;
// if (getActivity() instanceof TranslateMainActivity) {
// activity = (TranslateMainActivity) getActivity();
// }
// if (null != activity) {
// activity.runOnUiThread(new Runnable() {
// @Override
// public void run() {
// mBinding.result.setText(val);
// addLog(val);
// }
// });
// }
// }
// }
//
// private void addLog(String targetTxt) {
// FragmentActivity activity = getActivity();
// if (null != activity) {
// DbTranslation dbTranslation = new DbTranslation(activity);
// Translations translations = new Translations(TranslateWordApp.getSourceLanguage(), sourceText, TranslateWordApp.getTargetLanguage(), targetTxt);
// dbTranslation.addTranslation(translations);
// }
// }
// });
// }
//
// private void reset() {
// // 归位收藏图片
// mBinding.collectTrans.setImageResource(R.mipmap.trw_ic_collecttrans);
// // 归位收藏备份文本
// sourceText = "";
// // 设置当前未处于收藏状态
// collectCurrent = false;
// // 当前不处于翻译状态
// translating = false;
// }
//
// private boolean withCameraPermission() {
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// FragmentActivity activity = getActivity();
// if (null == activity) return false;
// return ContextCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
// } else {
// return true;
// }
// }
//
// private void launchLanguageSet() {
// Intent intent = new Intent(getActivity(), TranslateChangeLanguageActivity.class);
// getActivity().startActivity(intent);
// }
//
//
}