Merge pull request #1727 from open-keychain/mime-fallback

try to guess if data is text or not
This commit is contained in:
Vincent
2016-02-23 16:01:13 +01:00
11 changed files with 526 additions and 36 deletions

View File

@@ -19,6 +19,7 @@ package org.sufficientlysecure.keychain.ui;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
@@ -472,6 +473,16 @@ public abstract class DecryptFragment extends Fragment implements LoaderManager.
protected abstract void onVerifyLoaded(boolean hideErrorOverlay);
public void startDisplayLogActivity() {
Activity activity = getActivity();
if (activity == null) {
return;
}
Intent intent = new Intent(activity, LogDisplayActivity.class);
intent.putExtra(LogDisplayFragment.EXTRA_RESULT, mDecryptVerifyResult);
activity.startActivity(intent);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (mImportOpHelper != null) {

View File

@@ -591,6 +591,18 @@ public class DecryptListFragment
Intent chooserIntent = Intent.createChooser(intent, getString(R.string.intent_show));
chooserIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
if (!share && ClipDescription.compareMimeTypes(metadata.getMimeType(), "text/*")) {
LabeledIntent internalIntent = new LabeledIntent(
new Intent(intent)
.setClass(activity, DisplayTextActivity.class)
.putExtra(DisplayTextActivity.EXTRA_RESULT, result.mDecryptVerifyResult)
.putExtra(DisplayTextActivity.EXTRA_METADATA, metadata),
BuildConfig.APPLICATION_ID, R.string.view_internal, R.mipmap.ic_launcher);
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
new Parcelable[] { internalIntent });
}
startActivity(chooserIntent);
}

View File

@@ -103,7 +103,7 @@ public class DisplayTextFragment extends DecryptFragment {
Bundle args = getArguments();
String plaintext = args.getString(ARG_PLAINTEXT);
DecryptVerifyResult result = args.getParcelable(ARG_DECRYPT_VERIFY_RESULT);
DecryptVerifyResult result = args.getParcelable(ARG_DECRYPT_VERIFY_RESULT);
// display signature result in activity
mText.setText(plaintext);
@@ -137,6 +137,10 @@ public class DisplayTextFragment extends DecryptFragment {
copyToClipboard(mText.getText().toString());
break;
}
case R.id.decrypt_view_log: {
startDisplayLogActivity();
break;
}
default: {
return super.onOptionsItemSelected(item);
}