///* // * Copyright (C) 2012 Dominik Schürmann // * // * 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 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 outputStrings) // throws RemoteException { // runOnUiThread(new Runnable() { // public void run() { // if (outputBytes != null) { // keysBytes = outputBytes; // keysStrings = null; // } else if (outputStrings != null) { // keysBytes = null; // keysStrings = (ArrayList) 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); // } // //}