Merge "Use Bundle for inter-process message"
diff --git a/src/java/com/android/internal/telephony/NetworkScanRequestTracker.java b/src/java/com/android/internal/telephony/NetworkScanRequestTracker.java
index a1bf312..14c6810 100644
--- a/src/java/com/android/internal/telephony/NetworkScanRequestTracker.java
+++ b/src/java/com/android/internal/telephony/NetworkScanRequestTracker.java
@@ -23,18 +23,21 @@
import android.hardware.radio.V1_0.RadioError;
import android.os.AsyncResult;
import android.os.Binder;
+import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.Messenger;
import android.os.Process;
import android.os.RemoteException;
+import android.telephony.CellInfo;
import android.telephony.NetworkScan;
import android.telephony.NetworkScanRequest;
import android.telephony.RadioAccessSpecifier;
import android.telephony.TelephonyScanManager;
import android.util.Log;
+import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
/**
@@ -126,13 +129,21 @@
}
/** Sends a message back to the application via its callback. */
- private void notifyMessenger(NetworkScanRequestInfo nsri, int what, int err, Object result) {
+ private void notifyMessenger(NetworkScanRequestInfo nsri, int what, int err,
+ List<CellInfo> result) {
Messenger messenger = nsri.mMessenger;
Message message = Message.obtain();
message.what = what;
message.arg1 = err;
message.arg2 = nsri.mScanId;
- message.obj = result;
+ if (result != null) {
+ CellInfo[] ci = result.toArray(new CellInfo[result.size()]);
+ Bundle b = new Bundle();
+ b.putParcelableArray(TelephonyScanManager.SCAN_RESULT_KEY, ci);
+ message.setData(b);
+ } else {
+ message.obj = null;
+ }
try {
messenger.send(message);
} catch (RemoteException e) {