mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-07 01:23:38 +02:00
Added ML kit translate (debug only)
This commit is contained in:
@@ -278,9 +278,10 @@ public class FragmentCompose extends FragmentBase {
|
||||
private static final int REQUEST_COLOR = 10;
|
||||
private static final int REQUEST_CONTACT_GROUP = 11;
|
||||
private static final int REQUEST_ANSWER = 12;
|
||||
private static final int REQUEST_LINK = 13;
|
||||
private static final int REQUEST_DISCARD = 14;
|
||||
private static final int REQUEST_SEND = 15;
|
||||
private static final int REQUEST_TRANSLATE = 13;
|
||||
private static final int REQUEST_LINK = 14;
|
||||
private static final int REQUEST_DISCARD = 15;
|
||||
private static final int REQUEST_SEND = 16;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
@@ -1213,8 +1214,11 @@ public class FragmentCompose extends FragmentBase {
|
||||
menu.findItem(R.id.menu_contact_group).setEnabled(
|
||||
state == State.LOADED && hasPermission(Manifest.permission.READ_CONTACTS));
|
||||
menu.findItem(R.id.menu_answer).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_translate).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_clear).setEnabled(state == State.LOADED);
|
||||
|
||||
menu.findItem(R.id.menu_translate).setVisible(BuildConfig.DEBUG);
|
||||
|
||||
int colorEncrypt = Helper.resolveColor(getContext(), R.attr.colorEncrypt);
|
||||
ImageButton ib = (ImageButton) menu.findItem(R.id.menu_encrypt).getActionView();
|
||||
ib.setEnabled(state == State.LOADED);
|
||||
@@ -1275,6 +1279,9 @@ public class FragmentCompose extends FragmentBase {
|
||||
case R.id.menu_answer:
|
||||
onMenuAnswer();
|
||||
return true;
|
||||
case R.id.menu_translate:
|
||||
onMenuTranslate();
|
||||
return true;
|
||||
case R.id.menu_clear:
|
||||
StyleHelper.apply(R.id.menu_clear, etBody);
|
||||
return true;
|
||||
@@ -1444,6 +1451,20 @@ public class FragmentCompose extends FragmentBase {
|
||||
fragment.show(getParentFragmentManager(), "compose:answer");
|
||||
}
|
||||
|
||||
private void onMenuTranslate() {
|
||||
Bundle args = new Bundle();
|
||||
|
||||
CharSequence seq = (etBody.hasSelection()
|
||||
? etBody.getText().subSequence(etBody.getSelectionStart(), etBody.getSelectionEnd())
|
||||
: etBody.getText());
|
||||
args.putString("text", seq.toString());
|
||||
|
||||
FragmentDialogTranslate fragment = new FragmentDialogTranslate();
|
||||
fragment.setArguments(args);
|
||||
fragment.setTargetFragment(this, REQUEST_TRANSLATE);
|
||||
fragment.show(getParentFragmentManager(), "compose:answer");
|
||||
}
|
||||
|
||||
private boolean onActionStyle(int action) {
|
||||
Log.i("Style action=" + action);
|
||||
|
||||
@@ -1752,6 +1773,10 @@ public class FragmentCompose extends FragmentBase {
|
||||
if (resultCode == RESULT_OK && data != null)
|
||||
onAnswerSelected(data.getBundleExtra("args"));
|
||||
break;
|
||||
case REQUEST_TRANSLATE:
|
||||
if (resultCode == RESULT_OK && data != null)
|
||||
onTranslated(data.getBundleExtra("args"));
|
||||
break;
|
||||
case REQUEST_COLOR:
|
||||
if (resultCode == RESULT_OK && data != null)
|
||||
onColorSelected(data.getBundleExtra("args"));
|
||||
@@ -2732,6 +2757,15 @@ public class FragmentCompose extends FragmentBase {
|
||||
etBody.getText().insert(etBody.getSelectionStart(), spanned);
|
||||
}
|
||||
|
||||
private void onTranslated(Bundle args) {
|
||||
String translated = "\n" + args.getString("translated");
|
||||
|
||||
if (etBody.hasSelection())
|
||||
etBody.getEditableText().insert(etBody.getSelectionEnd(), translated);
|
||||
else
|
||||
etBody.getEditableText().append(translated);
|
||||
}
|
||||
|
||||
private void onColorSelected(Bundle args) {
|
||||
int color = args.getInt("color");
|
||||
int start = args.getInt("start");
|
||||
|
||||
Reference in New Issue
Block a user