mirror of https://github.com/M66B/FairEmail.git
Made encryption a pro feature
This commit is contained in:
parent
90fb39f43e
commit
293ba7ebe6
|
@ -23,11 +23,13 @@ import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.fragment.app.FragmentTransaction;
|
import androidx.fragment.app.FragmentTransaction;
|
||||||
|
import androidx.lifecycle.Lifecycle;
|
||||||
|
|
||||||
public class ActivityCompose extends ActivityBilling implements FragmentManager.OnBackStackChangedListener {
|
public class ActivityCompose extends ActivityBilling implements FragmentManager.OnBackStackChangedListener {
|
||||||
static final int REQUEST_CONTACT_TO = 1;
|
static final int REQUEST_CONTACT_TO = 1;
|
||||||
|
@ -125,4 +127,16 @@ public class ActivityCompose extends ActivityBilling implements FragmentManager.
|
||||||
if (getSupportFragmentManager().getBackStackEntryCount() == 0)
|
if (getSupportFragmentManager().getBackStackEntryCount() == 0)
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
switch (item.getItemId()) {
|
||||||
|
case android.R.id.home:
|
||||||
|
if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED))
|
||||||
|
getSupportFragmentManager().popBackStack();
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -898,12 +898,15 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onDecrypt(Intent intent) {
|
private void onDecrypt(Intent intent) {
|
||||||
Intent data = new Intent();
|
if (Helper.isPro(this)) {
|
||||||
data.setAction(OpenPgpApi.ACTION_DECRYPT_VERIFY);
|
Intent data = new Intent();
|
||||||
data.putExtra(OpenPgpApi.EXTRA_USER_IDS, new String[]{intent.getStringExtra("to")});
|
data.setAction(OpenPgpApi.ACTION_DECRYPT_VERIFY);
|
||||||
data.putExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true);
|
data.putExtra(OpenPgpApi.EXTRA_USER_IDS, new String[]{intent.getStringExtra("to")});
|
||||||
|
data.putExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true);
|
||||||
|
|
||||||
decrypt(data, intent.getLongExtra("id", -1));
|
decrypt(data, intent.getLongExtra("id", -1));
|
||||||
|
} else
|
||||||
|
onShowPro(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onShowPro(Intent intent) {
|
private void onShowPro(Intent intent) {
|
||||||
|
|
|
@ -488,27 +488,33 @@ public class FragmentCompose extends FragmentEx {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onEncrypt() {
|
private void onEncrypt() {
|
||||||
try {
|
if (Helper.isPro(getContext()))
|
||||||
String to = etTo.getText().toString();
|
try {
|
||||||
InternetAddress ato[] = (TextUtils.isEmpty(to) ? new InternetAddress[0] : InternetAddress.parse(to));
|
String to = etTo.getText().toString();
|
||||||
if (ato.length == 0)
|
InternetAddress ato[] = (TextUtils.isEmpty(to) ? new InternetAddress[0] : InternetAddress.parse(to));
|
||||||
throw new IllegalArgumentException(getString(R.string.title_to_missing));
|
if (ato.length == 0)
|
||||||
|
throw new IllegalArgumentException(getString(R.string.title_to_missing));
|
||||||
|
|
||||||
String[] tos = new String[ato.length];
|
String[] tos = new String[ato.length];
|
||||||
for (int i = 0; i < ato.length; i++)
|
for (int i = 0; i < ato.length; i++)
|
||||||
tos[i] = ato[i].getAddress();
|
tos[i] = ato[i].getAddress();
|
||||||
|
|
||||||
Intent data = new Intent();
|
Intent data = new Intent();
|
||||||
data.setAction(OpenPgpApi.ACTION_SIGN_AND_ENCRYPT);
|
data.setAction(OpenPgpApi.ACTION_SIGN_AND_ENCRYPT);
|
||||||
data.putExtra(OpenPgpApi.EXTRA_USER_IDS, tos);
|
data.putExtra(OpenPgpApi.EXTRA_USER_IDS, tos);
|
||||||
data.putExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true);
|
data.putExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true);
|
||||||
|
|
||||||
encrypt(data);
|
encrypt(data);
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
if (ex instanceof IllegalArgumentException)
|
if (ex instanceof IllegalArgumentException)
|
||||||
Snackbar.make(view, ex.getMessage(), Snackbar.LENGTH_LONG).show();
|
Snackbar.make(view, ex.getMessage(), Snackbar.LENGTH_LONG).show();
|
||||||
else
|
else
|
||||||
Helper.unexpectedError(getContext(), ex);
|
Helper.unexpectedError(getContext(), ex);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
|
||||||
|
fragmentTransaction.replace(R.id.content_frame, new FragmentPro()).addToBackStack("pro");
|
||||||
|
fragmentTransaction.commit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue