diff options
Diffstat (limited to 'OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure')
4 files changed, 0 insertions, 632 deletions
| diff --git a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/AidlDemoActivity2.java b/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/AidlDemoActivity2.java deleted file mode 100644 index b6e211955..000000000 --- a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/AidlDemoActivity2.java +++ /dev/null @@ -1,168 +0,0 @@ -///* -// * Copyright (C) 2012 Dominik Schürmann <dominik@dominikschuermann.de> -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// *      http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -// -//package org.sufficientlysecure.keychain.demo; -// -//import java.util.ArrayList; -//import java.util.List; -// -//import org.sufficientlysecure.keychain.demo.R; -//import org.sufficientlysecure.keychain.integration.KeychainData; -//import org.sufficientlysecure.keychain.integration.KeychainIntentHelper; -//import org.sufficientlysecure.keychain.service.IKeychainKeyService; -//import org.sufficientlysecure.keychain.service.handler.IKeychainGetKeyringsHandler; -// -//import android.annotation.SuppressLint; -//import android.app.Activity; -//import android.app.AlertDialog; -//import android.content.ComponentName; -//import android.content.Context; -//import android.content.Intent; -//import android.content.ServiceConnection; -//import android.os.Bundle; -//import android.os.IBinder; -//import android.os.RemoteException; -//import android.util.Base64; -//import android.view.View; -//import android.widget.TextView; -// -//public class AidlDemoActivity2 extends Activity { -//    Activity mActivity; -// -//    TextView mKeyringsTextView; -// -//    KeychainIntentHelper mKeychainIntentHelper; -//    KeychainData mKeychainData; -// -//    byte[] keysBytes; -//    ArrayList<String> keysStrings; -// -//    private IKeychainKeyService service = null; -//    private ServiceConnection svcConn = new ServiceConnection() { -//        public void onServiceConnected(ComponentName className, IBinder binder) { -//            service = IKeychainKeyService.Stub.asInterface(binder); -//        } -// -//        public void onServiceDisconnected(ComponentName className) { -//            service = null; -//        } -//    }; -// -//    @Override -//    public void onCreate(Bundle icicle) { -//        super.onCreate(icicle); -//        setContentView(R.layout.aidl_demo2); -// -//        mActivity = this; -// -//        mKeyringsTextView = (TextView) findViewById(R.id.aidl_demo_keyrings); -// -//        mKeychainIntentHelper = new KeychainIntentHelper(mActivity); -//        mKeychainData = new KeychainData(); -// -//        bindService(new Intent(IKeychainKeyService.class.getName()), svcConn, -//                Context.BIND_AUTO_CREATE); -//    } -// -//    public void getKeyringsStringsOnClick(View view) { -//        try { -//            service.getPublicKeyRings(mKeychainData.getPublicKeys(), true, getKeyringsHandler); -//        } catch (RemoteException e) { -//            exceptionImplementation(-1, e.toString()); -//        } -//    } -// -//    public void getKeyringsBytesOnClick(View view) { -//        try { -//            service.getPublicKeyRings(mKeychainData.getPublicKeys(), false, getKeyringsHandler); -//        } catch (RemoteException e) { -//            exceptionImplementation(-1, e.toString()); -//        } -//    } -// -//    @SuppressLint("NewApi") -//    private void updateView() { -//        if (keysBytes != null) { -//            mKeyringsTextView.setText(Base64.encodeToString(keysBytes, Base64.DEFAULT)); -//        } else if (keysStrings != null) { -//            mKeyringsTextView.setText(""); -//            for (String output : keysStrings) { -//                mKeyringsTextView.append(output); -//            } -//        } -//    } -// -//    @Override -//    public void onDestroy() { -//        super.onDestroy(); -// -//        unbindService(svcConn); -//    } -// -//    private void exceptionImplementation(int exceptionId, String error) { -//        AlertDialog.Builder builder = new AlertDialog.Builder(this); -//        builder.setTitle("Exception!").setMessage(error).setPositiveButton("OK", null).show(); -//    } -// -//    private final IKeychainGetKeyringsHandler.Stub getKeyringsHandler = new IKeychainGetKeyringsHandler.Stub() { -// -//        @Override -//        public void onException(final int exceptionId, final String message) throws RemoteException { -//            runOnUiThread(new Runnable() { -//                public void run() { -//                    exceptionImplementation(exceptionId, message); -//                } -//            }); -//        } -// -//        @Override -//        public void onSuccess(final byte[] outputBytes, final List<String> outputStrings) -//                throws RemoteException { -//            runOnUiThread(new Runnable() { -//                public void run() { -//                    if (outputBytes != null) { -//                        keysBytes = outputBytes; -//                        keysStrings = null; -//                    } else if (outputStrings != null) { -//                        keysBytes = null; -//                        keysStrings = (ArrayList<String>) outputStrings; -//                    } -//                    updateView(); -//                } -//            }); -// -//        } -// -//    }; -// -//    public void selectEncryptionKeysOnClick(View view) { -//        mKeychainIntentHelper.selectPublicKeys("user@example.com"); -//    } -// -//    @Override -//    protected void onActivityResult(int requestCode, int resultCode, Intent data) { -//        // this updates the mKeychainData object to the result of the methods -//        boolean result = mKeychainIntentHelper.onActivityResult(requestCode, resultCode, data, -//                mKeychainData); -//        if (result) { -//            updateView(); -//        } -// -//        // continue with other activity results -//        super.onActivityResult(requestCode, resultCode, data); -//    } -// -//} diff --git a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/BaseActivity.java b/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/BaseActivity.java deleted file mode 100644 index 5b286f208..000000000 --- a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/BaseActivity.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (C) 2012 Dominik Schürmann <dominik@dominikschuermann.de> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - *      http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.sufficientlysecure.keychain.demo; - -import org.sufficientlysecure.keychain.demo.R; - -import android.app.Activity; -import android.content.Intent; -import android.os.Bundle; -import android.preference.Preference; -import android.preference.Preference.OnPreferenceClickListener; -import android.preference.PreferenceActivity; -import android.widget.Toast; - -public class BaseActivity extends PreferenceActivity { -    private Activity mActivity; - -    private Preference mIntentDemo; -    private Preference mContentProviderDemo; -    private Preference mCryptoProvider; -    private Preference mAidlDemo; -    private Preference mAidlDemo2; - -    /** -     * Called when the activity is first created. -     */ -    @Override -    protected void onCreate(Bundle savedInstanceState) { -        super.onCreate(savedInstanceState); - -        mActivity = this; - -        // load preferences from xml -        addPreferencesFromResource(R.xml.base_preference); - -        // find preferences -        mIntentDemo = (Preference) findPreference("intent_demo"); -        mContentProviderDemo = (Preference) findPreference("content_provider_demo"); -        mCryptoProvider = (Preference) findPreference("openpgp_provider_demo"); -        mAidlDemo = (Preference) findPreference("aidl_demo"); -        mAidlDemo2 = (Preference) findPreference("aidl_demo2"); - -        mIntentDemo.setOnPreferenceClickListener(new OnPreferenceClickListener() { -            @Override -            public boolean onPreferenceClick(Preference preference) { -                // startActivity(new Intent(mActivity, IntentDemoActivity.class)); -                Toast.makeText(BaseActivity.this, "Not implemented!", Toast.LENGTH_LONG).show(); - -                return false; -            } -        }); - -        mCryptoProvider.setOnPreferenceClickListener(new OnPreferenceClickListener() { -            @Override -            public boolean onPreferenceClick(Preference preference) { -                startActivity(new Intent(mActivity, OpenPgpProviderActivity.class)); - -                return false; -            } -        }); - -        // mAidlDemo2.setOnPreferenceClickListener(new OnPreferenceClickListener() { -        // @Override -        // public boolean onPreferenceClick(Preference preference) { -        // startActivity(new Intent(mActivity, AidlDemoActivity2.class)); -        // -        // return false; -        // } -        // }); - -    } - -} diff --git a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/Constants.java b/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/Constants.java deleted file mode 100644 index 03e76254c..000000000 --- a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/Constants.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2013 Dominik Schürmann <dominik@dominikschuermann.de> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - *      http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.sufficientlysecure.keychain.demo; - -public final class Constants { - -    public static final boolean DEBUG = BuildConfig.DEBUG; - -    public static final String TAG = "Keychain"; - -} diff --git a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/OpenPgpProviderActivity.java b/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/OpenPgpProviderActivity.java deleted file mode 100644 index 4a96de5a1..000000000 --- a/OpenPGP-Keychain-API-Demo/src/org/sufficientlysecure/keychain/demo/OpenPgpProviderActivity.java +++ /dev/null @@ -1,352 +0,0 @@ -/* - * Copyright (C) 2013 Dominik Schürmann <dominik@dominikschuermann.de> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - *      http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.sufficientlysecure.keychain.demo; - -import java.util.ArrayList; -import java.util.List; - -import org.openintents.openpgp.IOpenPgpKeyIdsCallback; -import org.openintents.openpgp.OpenPgpData; -import org.openintents.openpgp.OpenPgpError; -import org.openintents.openpgp.OpenPgpServiceConnection; -import org.openintents.openpgp.OpenPgpSignatureResult; -import org.openintents.openpgp.IOpenPgpCallback; -import org.openintents.openpgp.IOpenPgpService; - -import android.app.Activity; -import android.app.AlertDialog; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.pm.ResolveInfo; -import android.graphics.drawable.Drawable; -import android.os.Bundle; -import android.os.RemoteException; -import android.util.Log; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ArrayAdapter; -import android.widget.EditText; -import android.widget.ListAdapter; -import android.widget.TextView; -import android.widget.Toast; - -public class OpenPgpProviderActivity extends Activity { -    Activity mActivity; - -    EditText mMessage; -    EditText mCiphertext; -    EditText mEncryptUserIds; - -    private OpenPgpServiceConnection mCryptoServiceConnection; - -    @Override -    public void onCreate(Bundle icicle) { -        super.onCreate(icicle); -        setContentView(R.layout.crypto_provider_demo); - -        mActivity = this; - -        mMessage = (EditText) findViewById(R.id.crypto_provider_demo_message); -        mCiphertext = (EditText) findViewById(R.id.crypto_provider_demo_ciphertext); -        mEncryptUserIds = (EditText) findViewById(R.id.crypto_provider_demo_encrypt_user_id); - -        selectCryptoProvider(); -    } - -    /** -     * Callback from remote openpgp service -     */ -    final IOpenPgpKeyIdsCallback.Stub getKeysEncryptCallback = new IOpenPgpKeyIdsCallback.Stub() { - -        @Override -        public void onSuccess(final long[] keyIds) throws RemoteException { -            Log.d(Constants.TAG, "getKeysEncryptCallback keyId " + keyIds[0]); -            mActivity.runOnUiThread(new Runnable() { - -                @Override -                public void run() { -                    // encrypt after getting key ids -                    String inputStr = mMessage.getText().toString(); -                    OpenPgpData input = new OpenPgpData(inputStr); - -                    Log.d(Constants.TAG, "getKeysEncryptCallback inputStr " + inputStr); - -                    try { -                        mCryptoServiceConnection.getService().encrypt(input, -                                new OpenPgpData(OpenPgpData.TYPE_STRING), keyIds, encryptCallback); -                    } catch (RemoteException e) { -                        Log.e(Constants.TAG, "CryptoProviderDemo", e); -                    } -                } -            }); -        } - -        @Override -        public void onError(OpenPgpError error) throws RemoteException { -            handleError(error); -        } - -    }; - -    final IOpenPgpKeyIdsCallback.Stub getKeysSignAndEncryptCallback = new IOpenPgpKeyIdsCallback.Stub() { - -        @Override -        public void onSuccess(final long[] keyIds) throws RemoteException { -            Log.d(Constants.TAG, "getKeysSignAndEncryptCallback keyId " + keyIds[0]); - -            mActivity.runOnUiThread(new Runnable() { - -                @Override -                public void run() { -                    // encrypt after getting key ids -                    String inputStr = mMessage.getText().toString(); -                    OpenPgpData input = new OpenPgpData(inputStr); - -                    try { -                        mCryptoServiceConnection.getService().signAndEncrypt(input, -                                new OpenPgpData(OpenPgpData.TYPE_STRING), keyIds, encryptCallback); -                    } catch (RemoteException e) { -                        Log.e(Constants.TAG, "CryptoProviderDemo", e); -                    } -                } -            }); -        } - -        @Override -        public void onError(OpenPgpError error) throws RemoteException { -            handleError(error); -        } - -    }; - -    final IOpenPgpCallback.Stub encryptCallback = new IOpenPgpCallback.Stub() { - -        @Override -        public void onSuccess(final OpenPgpData output, OpenPgpSignatureResult signatureResult) -                throws RemoteException { -            Log.d(Constants.TAG, "encryptCallback"); - -            runOnUiThread(new Runnable() { - -                @Override -                public void run() { -                    mCiphertext.setText(output.getString()); -                } -            }); -        } - -        @Override -        public void onError(OpenPgpError error) throws RemoteException { -            handleError(error); -        } - -    }; - -    final IOpenPgpCallback.Stub decryptAndVerifyCallback = new IOpenPgpCallback.Stub() { - -        @Override -        public void onSuccess(final OpenPgpData output, final OpenPgpSignatureResult signatureResult) -                throws RemoteException { -            Log.d(Constants.TAG, "decryptAndVerifyCallback"); - -            runOnUiThread(new Runnable() { - -                @Override -                public void run() { -                    mMessage.setText(output.getString()); -                    if (signatureResult != null) { -                        Toast.makeText(OpenPgpProviderActivity.this, -                                "signature result:\n" + signatureResult.toString(), -                                Toast.LENGTH_LONG).show(); -                    } -                } -            }); - -        } - -        @Override -        public void onError(OpenPgpError error) throws RemoteException { -            handleError(error); -        } - -    }; - -    private void handleError(final OpenPgpError error) { -        mActivity.runOnUiThread(new Runnable() { - -            @Override -            public void run() { -                Toast.makeText(mActivity, -                        "onError id:" + error.getErrorId() + "\n\n" + error.getMessage(), -                        Toast.LENGTH_LONG).show(); -                Log.e(Constants.TAG, "onError getErrorId:" + error.getErrorId()); -                Log.e(Constants.TAG, "onError getMessage:" + error.getMessage()); -            } -        }); -    } - -    public void encryptOnClick(View view) { -        try { -            mCryptoServiceConnection.getService().getKeyIds( -                    mEncryptUserIds.getText().toString().split(","), true, getKeysEncryptCallback); -        } catch (RemoteException e) { -            Log.e(Constants.TAG, "CryptoProviderDemo", e); -        } -    } - -    public void signOnClick(View view) { -        String inputStr = mMessage.getText().toString(); -        OpenPgpData input = new OpenPgpData(inputStr); - -        try { -            mCryptoServiceConnection.getService().sign(input, -                    new OpenPgpData(OpenPgpData.TYPE_STRING), encryptCallback); -        } catch (RemoteException e) { -            Log.e(Constants.TAG, "CryptoProviderDemo", e); -        } -    } - -    public void signAndEncryptOnClick(View view) { -        try { -            mCryptoServiceConnection.getService().getKeyIds( -                    mEncryptUserIds.getText().toString().split(","), true, -                    getKeysSignAndEncryptCallback); -        } catch (RemoteException e) { -            Log.e(Constants.TAG, "CryptoProviderDemo", e); -        } -    } - -    public void decryptAndVerifyOnClick(View view) { -        String inputStr = mCiphertext.getText().toString(); -        OpenPgpData input = new OpenPgpData(inputStr); - -        try { -            mCryptoServiceConnection.getService().decryptAndVerify(input, -                    new OpenPgpData(OpenPgpData.TYPE_STRING), decryptAndVerifyCallback); -        } catch (RemoteException e) { -            Log.e(Constants.TAG, "CryptoProviderDemo", e); -        } -    } - -    @Override -    public void onDestroy() { -        super.onDestroy(); - -        if (mCryptoServiceConnection != null) { -            mCryptoServiceConnection.unbindFromService(); -        } -    } - -    private static class OpenPgpProviderElement { -        private String packageName; -        private String simpleName; -        private Drawable icon; - -        public OpenPgpProviderElement(String packageName, String simpleName, Drawable icon) { -            this.packageName = packageName; -            this.simpleName = simpleName; -            this.icon = icon; -        } - -        @Override -        public String toString() { -            return simpleName; -        } -    } - -    private void selectCryptoProvider() { -        Intent intent = new Intent(IOpenPgpService.class.getName()); - -        final ArrayList<OpenPgpProviderElement> providerList = new ArrayList<OpenPgpProviderElement>(); - -        List<ResolveInfo> resInfo = getPackageManager().queryIntentServices(intent, 0); -        if (!resInfo.isEmpty()) { -            for (ResolveInfo resolveInfo : resInfo) { -                if (resolveInfo.serviceInfo == null) -                    continue; - -                String packageName = resolveInfo.serviceInfo.packageName; -                String simpleName = String.valueOf(resolveInfo.serviceInfo -                        .loadLabel(getPackageManager())); -                Drawable icon = resolveInfo.serviceInfo.loadIcon(getPackageManager()); -                providerList.add(new OpenPgpProviderElement(packageName, simpleName, icon)); -            } -        } - -        AlertDialog.Builder alert = new AlertDialog.Builder(this); -        alert.setTitle("Select OpenPGP Provider!"); -        alert.setCancelable(false); - -        if (!providerList.isEmpty()) { -            // add "disable OpenPGP provider" -            providerList.add(0, new OpenPgpProviderElement(null, "Disable OpenPGP Provider", -                    getResources().getDrawable(android.R.drawable.ic_menu_close_clear_cancel))); - -            // Init ArrayAdapter with OpenPGP Providers -            ListAdapter adapter = new ArrayAdapter<OpenPgpProviderElement>(this, -                    android.R.layout.select_dialog_item, android.R.id.text1, providerList) { -                public View getView(int position, View convertView, ViewGroup parent) { -                    // User super class to create the View -                    View v = super.getView(position, convertView, parent); -                    TextView tv = (TextView) v.findViewById(android.R.id.text1); - -                    // Put the image on the TextView -                    tv.setCompoundDrawablesWithIntrinsicBounds(providerList.get(position).icon, -                            null, null, null); - -                    // Add margin between image and text (support various screen densities) -                    int dp5 = (int) (5 * getResources().getDisplayMetrics().density + 0.5f); -                    tv.setCompoundDrawablePadding(dp5); - -                    return v; -                } -            }; - -            alert.setSingleChoiceItems(adapter, -1, new DialogInterface.OnClickListener() { - -                public void onClick(DialogInterface dialog, int position) { -                    String packageName = providerList.get(position).packageName; - -                    if (packageName == null) { -                        dialog.cancel(); -                        finish(); -                    } - -                    // bind to service -                    mCryptoServiceConnection = new OpenPgpServiceConnection( -                            OpenPgpProviderActivity.this, packageName); -                    mCryptoServiceConnection.bindToService(); - -                    dialog.dismiss(); -                } -            }); -        } else { -            alert.setMessage("No OpenPGP Provider installed!"); -        } - -        alert.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { - -            public void onClick(DialogInterface dialog, int id) { -                dialog.cancel(); -                finish(); -            } -        }); - -        AlertDialog ad = alert.create(); -        ad.show(); -    } -} | 
