Merge "DO NOT MERGE: Fix array casting bug" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e632c246fa
@@ -29,6 +29,8 @@ import android.util.ArrayMap;
|
|||||||
import com.android.internal.annotations.GuardedBy;
|
import com.android.internal.annotations.GuardedBy;
|
||||||
import com.android.internal.util.Preconditions;
|
import com.android.internal.util.Preconditions;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
@@ -193,7 +195,7 @@ abstract class AbstractListenerManager<TRequest, TListener> {
|
|||||||
protected abstract void unregisterService() throws RemoteException;
|
protected abstract void unregisterService() throws RemoteException;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
protected TRequest merge(@NonNull TRequest[] requests) {
|
protected TRequest merge(@NonNull List<TRequest> requests) {
|
||||||
for (TRequest request : requests) {
|
for (TRequest request : requests) {
|
||||||
Preconditions.checkArgument(request == null,
|
Preconditions.checkArgument(request == null,
|
||||||
"merge() has to be overridden for non-null requests.");
|
"merge() has to be overridden for non-null requests.");
|
||||||
@@ -221,9 +223,9 @@ abstract class AbstractListenerManager<TRequest, TListener> {
|
|||||||
return mListeners.valueAt(0).getRequest();
|
return mListeners.valueAt(0).getRequest();
|
||||||
}
|
}
|
||||||
|
|
||||||
TRequest[] requests = (TRequest[]) new Object[mListeners.size()];
|
ArrayList<TRequest> requests = new ArrayList<>(mListeners.size());
|
||||||
for (int index = 0; index < mListeners.size(); index++) {
|
for (int index = 0; index < mListeners.size(); index++) {
|
||||||
requests[index] = mListeners.valueAt(index).getRequest();
|
requests.add(mListeners.valueAt(index).getRequest());
|
||||||
}
|
}
|
||||||
return merge(requests);
|
return merge(requests);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3030,14 +3030,14 @@ public class LocationManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
protected GnssRequest merge(@NonNull GnssRequest[] requests) {
|
protected GnssRequest merge(@NonNull List<GnssRequest> requests) {
|
||||||
Preconditions.checkArgument(requests.length > 0);
|
Preconditions.checkArgument(!requests.isEmpty());
|
||||||
for (GnssRequest request : requests) {
|
for (GnssRequest request : requests) {
|
||||||
if (request.isFullTracking()) {
|
if (request.isFullTracking()) {
|
||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return requests[0];
|
return requests.get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class GnssMeasurementsListener extends IGnssMeasurementsListener.Stub {
|
private class GnssMeasurementsListener extends IGnssMeasurementsListener.Stub {
|
||||||
|
|||||||
Reference in New Issue
Block a user