cleanup, add SCAN_QR_CODE intent

This commit is contained in:
Dominik Schürmann 2012-12-14 19:16:10 +01:00
parent be4e3a10b0
commit a9d80902f4
9 changed files with 41 additions and 26 deletions

View File

@ -53,11 +53,23 @@ public class ApgIntentHelper {
public static final String ACTION_DECRYPT_STREAM_AND_RETURN = APG_INTENT_PREFIX
+ "DECRYPT_STREAM_AND_RETURN";
/**
* Select keys, without permission
*/
public static final String ACTION_SELECT_PUBLIC_KEYS = APG_INTENT_PREFIX + "SELECT_PUBLIC_KEYS";
public static final String ACTION_SELECT_SECRET_KEY = APG_INTENT_PREFIX + "SELECT_SECRET_KEY";
/**
* Create key/edit key, without permission
*/
public static final String ACTION_CREATE_KEY = APG_INTENT_PREFIX + "CREATE_KEY";
public static final String ACTION_EDIT_KEY = APG_INTENT_PREFIX + "EDIT_KEY";
/**
* Scan QR code, without permission
*/
public static final String ACTION_SCAN_QR_CODE = APG_INTENT_PREFIX + "SCAN_QR_CODE";
public static final String EXTRA_TEXT = "text";
public static final String EXTRA_DATA = "data";
public static final String EXTRA_ERROR = "error";
@ -80,7 +92,7 @@ public class ApgIntentHelper {
public static final String RESULT_EXTRA_MASTER_KEY_IDS = "masterKeyIds";
public static final String RESULT_EXTRA_USER_IDS = "userIds";
// result from EditKey
public static final String RESULT_EXTRA_MASTER_KEY_ID = "masterKeyId";
public static final String RESULT_EXTRA_USER_ID = "userId";
@ -100,6 +112,23 @@ public class ApgIntentHelper {
this.activity = activity;
}
/**
* Open activity to scan qr code and import key in it
*
* @return true when activity was found and executed successfully
*/
public boolean scanQrCode() {
Intent intent = new Intent(ACTION_SCAN_QR_CODE);
intent.putExtra(EXTRA_INTENT_VERSION, INTENT_VERSION);
try {
activity.startActivityForResult(intent, -1);
return true;
} catch (ActivityNotFoundException e) {
activityNotFound();
return false;
}
}
/**
* Opens APG activity to create new key
*

View File

@ -338,7 +338,13 @@
<activity
android:name=".ui.ImportFromQRCodeActivity"
android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
android:label="@string/title_importFromQRCode" />
android:label="@string/title_importFromQRCode" >
<intent-filter>
<action android:name="org.thialfihar.android.apg.intent.SCAN_QR_CODE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".ui.HelpActivity"
android:label="@string/title_help" />

View File

@ -16,8 +16,6 @@
package org.thialfihar.android.apg.helper;
import java.net.URISyntaxException;
import org.thialfihar.android.apg.Constants;
import org.thialfihar.android.apg.R;
import org.thialfihar.android.apg.util.Log;
@ -90,7 +88,6 @@ public class FileHelper {
* @author paulburke
*/
public static String getPath(Context context, Uri uri) {
Log.d(Constants.TAG + " File -",
"Authority: " + uri.getAuthority() + ", Fragment: " + uri.getFragment()
+ ", Port: " + uri.getPort() + ", Query: " + uri.getQuery() + ", Scheme: "

View File

@ -22,20 +22,15 @@ import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import org.spongycastle.bcpg.ArmoredOutputStream;
import org.spongycastle.openpgp.PGPKeyRing;
import org.spongycastle.openpgp.PGPObjectFactory;
import org.spongycastle.openpgp.PGPPublicKeyRing;
import org.spongycastle.openpgp.PGPSecretKey;
import org.spongycastle.openpgp.PGPSecretKeyRing;
import org.spongycastle.openpgp.PGPUtil;
import org.thialfihar.android.apg.Constants;
import org.thialfihar.android.apg.provider.ProviderHelper;
import org.thialfihar.android.apg.util.Log;
import android.content.Context;
public class PGPConversionHelper {
/**

View File

@ -17,38 +17,26 @@
package org.thialfihar.android.apg.helper;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.Vector;
import org.spongycastle.bcpg.ArmoredOutputStream;
import org.spongycastle.bcpg.sig.KeyFlags;
import org.spongycastle.openpgp.PGPKeyRing;
import org.spongycastle.openpgp.PGPObjectFactory;
import org.spongycastle.openpgp.PGPPublicKey;
import org.spongycastle.openpgp.PGPPublicKeyRing;
import org.spongycastle.openpgp.PGPSecretKey;
import org.spongycastle.openpgp.PGPSecretKeyRing;
import org.spongycastle.openpgp.PGPSignature;
import org.spongycastle.openpgp.PGPSignatureSubpacketVector;
import org.spongycastle.openpgp.PGPUtil;
import org.thialfihar.android.apg.Constants;
import org.thialfihar.android.apg.R;
import org.thialfihar.android.apg.provider.ApgContract.KeyRings;
import org.thialfihar.android.apg.provider.ProviderHelper;
import org.thialfihar.android.apg.util.IterableIterator;
import org.thialfihar.android.apg.util.Log;
import android.content.Context;
import android.database.Cursor;
import android.database.DatabaseUtils;
import android.net.Uri;
public class PGPHelper {

View File

@ -299,6 +299,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
*
* @param intent
*/
@SuppressWarnings("unchecked")
private void handleActionEditKey(Intent intent) {
Bundle extras = intent.getExtras();

View File

@ -46,8 +46,7 @@ import com.google.zxing.integration.android.IntentResult;
public class ImportFromQRCodeActivity extends SherlockFragmentActivity {
// Not used in sourcode, but listed in AndroidManifest!
public static final String IMPORT_FROM_QR_CODE = Constants.INTENT_PREFIX
+ "IMPORT_FROM_QR_CODE";
public static final String SCAN_QR_CODE = Constants.INTENT_PREFIX + "SCAN_QR_CODE";
// public static final String EXTRA_KEY_ID = "keyId";

View File

@ -64,7 +64,7 @@ public class KeyListPublicActivity extends KeyListActivity {
}
case Id.menu.option.scanQRCode: {
Intent intent = new Intent(this, ImportFromQRCodeActivity.class);
intent.setAction(ImportFromQRCodeActivity.IMPORT_FROM_QR_CODE);
intent.setAction(ImportFromQRCodeActivity.SCAN_QR_CODE);
startActivityForResult(intent, Id.request.import_from_qr_code);
return true;

View File

@ -57,7 +57,7 @@ public class MainActivity extends SherlockActivity {
public void scanQrcodeOnClick(View view) {
Intent intent = new Intent(this, ImportFromQRCodeActivity.class);
intent.setAction(ImportFromQRCodeActivity.IMPORT_FROM_QR_CODE);
intent.setAction(ImportFromQRCodeActivity.SCAN_QR_CODE);
startActivityForResult(intent, Id.request.import_from_qr_code);
}