Loading telephony/java/android/telephony/TelephonyManager.java +5 −2 Original line number Diff line number Diff line Loading @@ -5425,7 +5425,10 @@ public class TelephonyManager { * app has carrier privileges (see {@link #hasCarrierPrivileges}). * * @param request Contains all the RAT with bands/channels that need to be scanned. * @param executor The executor through which the callback should be invoked. * @param executor The executor through which the callback should be invoked. Since the scan * request may trigger multiple callbacks and they must be invoked in the same order as * they are received by the platform, the user should provide an executor which executes * tasks one at a time in serial order. For example AsyncTask.SERIAL_EXECUTOR. * @param callback Returns network scan results or errors. * @return A NetworkScan obj which contains a callback which can be used to stop the scan. */ Loading @@ -5451,7 +5454,7 @@ public class TelephonyManager { @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public NetworkScan requestNetworkScan( NetworkScanRequest request, TelephonyScanManager.NetworkScanCallback callback) { return requestNetworkScan(request, AsyncTask.THREAD_POOL_EXECUTOR, callback); return requestNetworkScan(request, AsyncTask.SERIAL_EXECUTOR, callback); } /** Loading telephony/java/android/telephony/TelephonyScanManager.java +12 −4 Original line number Diff line number Diff line Loading @@ -137,8 +137,10 @@ public final class TelephonyScanManager { for (int i = 0; i < parcelables.length; i++) { ci[i] = (CellInfo) parcelables[i]; } executor.execute(() -> callback.onResults((List<CellInfo>) Arrays.asList(ci))); executor.execute(() ->{ Rlog.d(TAG, "onResults: " + ci.toString()); callback.onResults((List<CellInfo>) Arrays.asList(ci)); }); } catch (Exception e) { Rlog.e(TAG, "Exception in networkscan callback onResults", e); } Loading @@ -146,14 +148,20 @@ public final class TelephonyScanManager { case CALLBACK_SCAN_ERROR: try { final int errorCode = message.arg1; executor.execute(() -> callback.onError(errorCode)); executor.execute(() -> { Rlog.d(TAG, "onError: " + errorCode); callback.onError(errorCode); }); } catch (Exception e) { Rlog.e(TAG, "Exception in networkscan callback onError", e); } break; case CALLBACK_SCAN_COMPLETE: try { executor.execute(() -> callback.onComplete()); executor.execute(() -> { Rlog.d(TAG, "onComplete"); callback.onComplete(); }); mScanInfo.remove(message.arg2); } catch (Exception e) { Rlog.e(TAG, "Exception in networkscan callback onComplete", e); Loading Loading
telephony/java/android/telephony/TelephonyManager.java +5 −2 Original line number Diff line number Diff line Loading @@ -5425,7 +5425,10 @@ public class TelephonyManager { * app has carrier privileges (see {@link #hasCarrierPrivileges}). * * @param request Contains all the RAT with bands/channels that need to be scanned. * @param executor The executor through which the callback should be invoked. * @param executor The executor through which the callback should be invoked. Since the scan * request may trigger multiple callbacks and they must be invoked in the same order as * they are received by the platform, the user should provide an executor which executes * tasks one at a time in serial order. For example AsyncTask.SERIAL_EXECUTOR. * @param callback Returns network scan results or errors. * @return A NetworkScan obj which contains a callback which can be used to stop the scan. */ Loading @@ -5451,7 +5454,7 @@ public class TelephonyManager { @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public NetworkScan requestNetworkScan( NetworkScanRequest request, TelephonyScanManager.NetworkScanCallback callback) { return requestNetworkScan(request, AsyncTask.THREAD_POOL_EXECUTOR, callback); return requestNetworkScan(request, AsyncTask.SERIAL_EXECUTOR, callback); } /** Loading
telephony/java/android/telephony/TelephonyScanManager.java +12 −4 Original line number Diff line number Diff line Loading @@ -137,8 +137,10 @@ public final class TelephonyScanManager { for (int i = 0; i < parcelables.length; i++) { ci[i] = (CellInfo) parcelables[i]; } executor.execute(() -> callback.onResults((List<CellInfo>) Arrays.asList(ci))); executor.execute(() ->{ Rlog.d(TAG, "onResults: " + ci.toString()); callback.onResults((List<CellInfo>) Arrays.asList(ci)); }); } catch (Exception e) { Rlog.e(TAG, "Exception in networkscan callback onResults", e); } Loading @@ -146,14 +148,20 @@ public final class TelephonyScanManager { case CALLBACK_SCAN_ERROR: try { final int errorCode = message.arg1; executor.execute(() -> callback.onError(errorCode)); executor.execute(() -> { Rlog.d(TAG, "onError: " + errorCode); callback.onError(errorCode); }); } catch (Exception e) { Rlog.e(TAG, "Exception in networkscan callback onError", e); } break; case CALLBACK_SCAN_COMPLETE: try { executor.execute(() -> callback.onComplete()); executor.execute(() -> { Rlog.d(TAG, "onComplete"); callback.onComplete(); }); mScanInfo.remove(message.arg2); } catch (Exception e) { Rlog.e(TAG, "Exception in networkscan callback onComplete", e); Loading