Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6728fbf6 authored by Ruchi Kandoi's avatar Ruchi Kandoi Committed by android-build-merger
Browse files

Merge "Add an Executor for the onConnectedListener" am: 0d1f7933

am: a6c71872

Change-Id: I99338270ac10c27b68bd851a844259441145c186
parents 25f94aa5 a6c71872
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -38414,7 +38414,7 @@ package android.se.omapi {
  }
  public final class SEService {
    ctor public SEService(android.content.Context, android.se.omapi.SEService.OnConnectedListener);
    ctor public SEService(android.content.Context, java.util.concurrent.Executor, android.se.omapi.SEService.OnConnectedListener);
    method public android.se.omapi.Reader[] getReaders();
    method public java.lang.String getVersion();
    method public boolean isConnected();
@@ -38422,7 +38422,7 @@ package android.se.omapi {
  }
  public static abstract interface SEService.OnConnectedListener {
    method public abstract void onServiceConnected();
    method public abstract void onConnected();
  }
  public final class Session {
+20 −9
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.os.RemoteException;
import android.util.Log;

import java.util.HashMap;
import java.util.concurrent.Executor;

/**
 * The SEService realises the communication to available Secure Elements on the
@@ -66,7 +67,7 @@ public final class SEService {
        /**
         * Called by the framework when the service is connected.
         */
        void onServiceConnected();
        void onConnected();
    }

    /**
@@ -75,15 +76,21 @@ public final class SEService {
     */
    private class SEListener extends ISecureElementListener.Stub {
        public OnConnectedListener mListener = null;
        public Executor mExecutor = null;

        @Override
        public IBinder asBinder() {
            return this;
        }

        public void onServiceConnected() {
            if (mListener != null) {
                mListener.onServiceConnected();
        public void onConnected() {
            if (mListener != null && mExecutor != null) {
                mExecutor.execute(new Runnable() {
                    @Override
                    public void run() {
                        mListener.onConnected();
                    }
                });
            }
        }
    }
@@ -116,22 +123,26 @@ public final class SEService {
     * the specified listener is called or if isConnected() returns
     * <code>true</code>. <br>
     * The call-back object passed as a parameter will have its
     * onServiceConnected() method called when the connection actually happen.
     * onConnected() method called when the connection actually happen.
     *
     * @param context
     *            the context of the calling application. Cannot be
     *            <code>null</code>.
     * @param listener
     *            a OnConnectedListener object.
     * @param executor
     *            an Executor which will be used when invoking the callback.
     */
    public SEService(@NonNull Context context, @NonNull OnConnectedListener listener) {
    public SEService(@NonNull Context context, @NonNull Executor executor,
            @NonNull OnConnectedListener listener) {

        if (context == null) {
            throw new NullPointerException("context must not be null");
        if (context == null || listener == null || executor == null) {
            throw new NullPointerException("Arguments must not be null");
        }

        mContext = context;
        mSEListener.mListener = listener;
        mSEListener.mExecutor = executor;

        mConnection = new ServiceConnection() {

@@ -140,7 +151,7 @@ public final class SEService {

                mSecureElementService = ISecureElementService.Stub.asInterface(service);
                if (mSEListener != null) {
                    mSEListener.onServiceConnected();
                    mSEListener.onConnected();
                }
                Log.i(TAG, "Service onServiceConnected");
            }