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

Commit 5ce391b3 authored by Jack Yu's avatar Jack Yu Committed by Gerrit Code Review
Browse files

Merge changes from topic "null_callback"

* changes:
  Fixed null callback issue
  Added debug messages and watchdog
parents df2293f6 7302b24f
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.telephony.NetworkService.NetworkServiceProvider;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.ref.WeakReference;

/**
 * Network service callback. Object of this class is passed to NetworkServiceProvider upon
@@ -61,11 +60,11 @@ public class NetworkServiceCallback {
    /** Request failed */
    public static final int RESULT_ERROR_FAILED         = 5;

    private final WeakReference<INetworkServiceCallback> mCallback;
    private final INetworkServiceCallback mCallback;

    /** @hide */
    public NetworkServiceCallback(INetworkServiceCallback callback) {
        mCallback = new WeakReference<>(callback);
        mCallback = callback;
    }

    /**
@@ -78,15 +77,14 @@ public class NetworkServiceCallback {
     */
    public void onRequestNetworkRegistrationInfoComplete(int result,
                                                         @Nullable NetworkRegistrationInfo state) {
        INetworkServiceCallback callback = mCallback.get();
        if (callback != null) {
        if (mCallback != null) {
            try {
                callback.onRequestNetworkRegistrationInfoComplete(result, state);
                mCallback.onRequestNetworkRegistrationInfoComplete(result, state);
            } catch (RemoteException e) {
                Rlog.e(mTag, "Failed to onRequestNetworkRegistrationInfoComplete on the remote");
            }
        } else {
            Rlog.e(mTag, "Weak reference of callback is null.");
            Rlog.e(mTag, "onRequestNetworkRegistrationInfoComplete callback is null.");
        }
    }
}
 No newline at end of file
+31 −21
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ import android.telephony.data.DataService.DataServiceProvider;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.ref.WeakReference;
import java.util.List;

/**
@@ -42,6 +41,8 @@ public class DataServiceCallback {

    private static final String TAG = DataServiceCallback.class.getSimpleName();

    private static final boolean DBG = true;

    /**
     * Result of data requests
     * @hide
@@ -62,11 +63,11 @@ public class DataServiceCallback {
    /** Request sent in illegal state */
    public static final int RESULT_ERROR_ILLEGAL_STATE  = 4;

    private final WeakReference<IDataServiceCallback> mCallback;
    private final IDataServiceCallback mCallback;

    /** @hide */
    public DataServiceCallback(IDataServiceCallback callback) {
        mCallback = new WeakReference<>(callback);
        mCallback = callback;
    }

    /**
@@ -78,13 +79,15 @@ public class DataServiceCallback {
     */
    public void onSetupDataCallComplete(@ResultCode int result,
                                        @Nullable DataCallResponse response) {
        IDataServiceCallback callback = mCallback.get();
        if (callback != null) {
        if (mCallback != null) {
            try {
                callback.onSetupDataCallComplete(result, response);
                if (DBG) Rlog.d(TAG, "onSetupDataCallComplete");
                mCallback.onSetupDataCallComplete(result, response);
            } catch (RemoteException e) {
                Rlog.e(TAG, "Failed to onSetupDataCallComplete on the remote");
            }
        } else {
            Rlog.e(TAG, "onSetupDataCallComplete: callback is null!");
        }
    }

@@ -95,13 +98,15 @@ public class DataServiceCallback {
     * @param result The result code. Must be one of the {@link ResultCode}.
     */
    public void onDeactivateDataCallComplete(@ResultCode int result) {
        IDataServiceCallback callback = mCallback.get();
        if (callback != null) {
        if (mCallback != null) {
            try {
                callback.onDeactivateDataCallComplete(result);
                if (DBG) Rlog.d(TAG, "onDeactivateDataCallComplete");
                mCallback.onDeactivateDataCallComplete(result);
            } catch (RemoteException e) {
                Rlog.e(TAG, "Failed to onDeactivateDataCallComplete on the remote");
            }
        } else {
            Rlog.e(TAG, "onDeactivateDataCallComplete: callback is null!");
        }
    }

@@ -112,13 +117,14 @@ public class DataServiceCallback {
     * @param result The result code. Must be one of the {@link ResultCode}.
     */
    public void onSetInitialAttachApnComplete(@ResultCode int result) {
        IDataServiceCallback callback = mCallback.get();
        if (callback != null) {
        if (mCallback != null) {
            try {
                callback.onSetInitialAttachApnComplete(result);
                mCallback.onSetInitialAttachApnComplete(result);
            } catch (RemoteException e) {
                Rlog.e(TAG, "Failed to onSetInitialAttachApnComplete on the remote");
            }
        } else {
            Rlog.e(TAG, "onSetInitialAttachApnComplete: callback is null!");
        }
    }

@@ -129,13 +135,14 @@ public class DataServiceCallback {
     * @param result The result code. Must be one of the {@link ResultCode}.
     */
    public void onSetDataProfileComplete(@ResultCode int result) {
        IDataServiceCallback callback = mCallback.get();
        if (callback != null) {
        if (mCallback != null) {
            try {
                callback.onSetDataProfileComplete(result);
                mCallback.onSetDataProfileComplete(result);
            } catch (RemoteException e) {
                Rlog.e(TAG, "Failed to onSetDataProfileComplete on the remote");
            }
        } else {
            Rlog.e(TAG, "onSetDataProfileComplete: callback is null!");
        }
    }

@@ -149,13 +156,14 @@ public class DataServiceCallback {
     */
    public void onRequestDataCallListComplete(@ResultCode int result,
                                              @NonNull List<DataCallResponse> dataCallList) {
        IDataServiceCallback callback = mCallback.get();
        if (callback != null) {
        if (mCallback != null) {
            try {
                callback.onRequestDataCallListComplete(result, dataCallList);
                mCallback.onRequestDataCallListComplete(result, dataCallList);
            } catch (RemoteException e) {
                Rlog.e(TAG, "Failed to onRequestDataCallListComplete on the remote");
            }
        } else {
            Rlog.e(TAG, "onRequestDataCallListComplete: callback is null!");
        }
    }

@@ -166,13 +174,15 @@ public class DataServiceCallback {
     * @param dataCallList List of the current active data connection.
     */
    public void onDataCallListChanged(@NonNull List<DataCallResponse> dataCallList) {
        IDataServiceCallback callback = mCallback.get();
        if (callback != null) {
        if (mCallback != null) {
            try {
                callback.onDataCallListChanged(dataCallList);
                if (DBG) Rlog.d(TAG, "onDataCallListChanged");
                mCallback.onDataCallListChanged(dataCallList);
            } catch (RemoteException e) {
                Rlog.e(TAG, "Failed to onDataCallListChanged on the remote");
            }
        } else {
            Rlog.e(TAG, "onDataCallListChanged: callback is null!");
        }
    }
}