Made encryption a pro feature

pull/146/head
M66B 7 years ago
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];
for (int i = 0; i < ato.length; i++) String[] tos = new String[ato.length];
tos[i] = ato[i].getAddress(); for (int i = 0; i < ato.length; i++)
tos[i] = ato[i].getAddress();
Intent data = new Intent();
data.setAction(OpenPgpApi.ACTION_SIGN_AND_ENCRYPT); Intent data = new Intent();
data.putExtra(OpenPgpApi.EXTRA_USER_IDS, tos); data.setAction(OpenPgpApi.ACTION_SIGN_AND_ENCRYPT);
data.putExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true); data.putExtra(OpenPgpApi.EXTRA_USER_IDS, tos);
data.putExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true);
encrypt(data);
} catch (Throwable ex) { encrypt(data);
if (ex instanceof IllegalArgumentException) } catch (Throwable ex) {
Snackbar.make(view, ex.getMessage(), Snackbar.LENGTH_LONG).show(); if (ex instanceof IllegalArgumentException)
else Snackbar.make(view, ex.getMessage(), Snackbar.LENGTH_LONG).show();
Helper.unexpectedError(getContext(), ex); else
Helper.unexpectedError(getContext(), ex);
}
else {
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.content_frame, new FragmentPro()).addToBackStack("pro");
fragmentTransaction.commit();
} }
} }

Loading…
Cancel
Save