Merge pull request #1727 from open-keychain/mime-fallback
try to guess if data is text or not
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user