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

Commit 592ecd0b authored by Amin Shaikh's avatar Amin Shaikh Committed by android-build-merger
Browse files

Merge changes from topic 'experio-scoring' into oc-dev

am: bad4573b

Change-Id: Iff8a25fa18ff6e7cfd9fb8e7d9e265fdcdeed076
parents 25091219 bad4573b
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -27954,13 +27954,13 @@ package android.net {
    ctor public deprecated NetworkRecommendationProvider(android.os.Handler);
    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
    method public final android.os.IBinder getBinder();
    method public abstract void onRequestRecommendation(android.net.RecommendationRequest, android.net.NetworkRecommendationProvider.ResultCallback);
    method public deprecated void onRequestRecommendation(android.net.RecommendationRequest, android.net.NetworkRecommendationProvider.ResultCallback);
    method public abstract void onRequestScores(android.net.NetworkKey[]);
    field public static final java.lang.String EXTRA_RECOMMENDATION_RESULT = "android.net.extra.RECOMMENDATION_RESULT";
    field public static final java.lang.String EXTRA_SEQUENCE = "android.net.extra.SEQUENCE";
    field public static final deprecated java.lang.String EXTRA_RECOMMENDATION_RESULT = "android.net.extra.RECOMMENDATION_RESULT";
    field public static final deprecated java.lang.String EXTRA_SEQUENCE = "android.net.extra.SEQUENCE";
  }
  public static class NetworkRecommendationProvider.ResultCallback {
  public static deprecated class NetworkRecommendationProvider.ResultCallback {
    method public void onResult(android.net.RecommendationResult);
  }
@@ -28027,7 +28027,7 @@ package android.net {
    field public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR;
  }
  public final class RecommendationRequest implements android.os.Parcelable {
  public final deprecated class RecommendationRequest implements android.os.Parcelable {
    ctor protected RecommendationRequest(android.os.Parcel);
    method public int describeContents();
    method public android.net.wifi.WifiConfiguration[] getConnectableConfigs();
@@ -28042,7 +28042,7 @@ package android.net {
    field public static final android.os.Parcelable.Creator<android.net.RecommendationRequest> CREATOR;
  }
  public static final class RecommendationRequest.Builder {
  public static final deprecated class RecommendationRequest.Builder {
    ctor public RecommendationRequest.Builder();
    method public android.net.RecommendationRequest build();
    method public android.net.RecommendationRequest.Builder setConnectableConfigs(android.net.wifi.WifiConfiguration[]);
@@ -28052,7 +28052,7 @@ package android.net {
    method public android.net.RecommendationRequest.Builder setScanResults(android.net.wifi.ScanResult[]);
  }
  public final class RecommendationResult implements android.os.Parcelable {
  public final deprecated class RecommendationResult implements android.os.Parcelable {
    method public static android.net.RecommendationResult createConnectRecommendation(android.net.wifi.WifiConfiguration);
    method public static android.net.RecommendationResult createDoNotConnectRecommendation();
    method public int describeContents();
@@ -38082,7 +38082,6 @@ package android.provider {
    field public static final java.lang.String BOOT_COUNT = "boot_count";
    field public static final java.lang.String CONTACT_METADATA_SYNC_ENABLED = "contact_metadata_sync_enabled";
    field public static final android.net.Uri CONTENT_URI;
    field public static final java.lang.String CURATE_SAVED_OPEN_NETWORKS = "curate_saved_open_networks";
    field public static final java.lang.String DATA_ROAMING = "data_roaming";
    field public static final java.lang.String DEBUG_APP = "debug_app";
    field public static final java.lang.String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled";
+0 −16
Original line number Diff line number Diff line
@@ -17,8 +17,6 @@
package android.net;

import android.net.NetworkKey;
import android.net.RecommendationRequest;
import android.os.IRemoteCallback;

/**
 * The service responsible for answering network recommendation requests.
@@ -26,20 +24,6 @@ import android.os.IRemoteCallback;
 */
oneway interface INetworkRecommendationProvider {

    /**
     * Request a recommendation for the best network to connect to
     * taking into account the inputs from the {@link RecommendationRequest}.
     *
     * @param request a {@link RecommendationRequest} instance containing the details of the request
     * @param callback a {@link IRemoteCallback} instance to invoke when the recommendation
     *                 is available
     * @param sequence an internal number used for tracking the request
     * @hide
     */
    void requestRecommendation(in RecommendationRequest request,
                               in IRemoteCallback callback,
                               int sequence);

    /**
     * Request scoring for networks.
     *
+0 −25
Original line number Diff line number Diff line
@@ -19,10 +19,7 @@ package android.net;
import android.net.INetworkScoreCache;
import android.net.NetworkKey;
import android.net.NetworkScorerAppData;
import android.net.RecommendationRequest;
import android.net.RecommendationResult;
import android.net.ScoredNetwork;
import android.os.RemoteCallback;

/**
 * A service for updating network scores from a network scorer application.
@@ -80,16 +77,6 @@ interface INetworkScoreService
     */
    void unregisterNetworkScoreCache(int networkType, INetworkScoreCache scoreCache);

    /**
     * Request a recommendation for the best network to connect to
     * taking into account the inputs from the {@link RecommendationRequest}.
     *
     * @param request a {@link RecommendationRequest} instance containing the details of the request
     * @return a {@link RecommendationResult} containing the recommended network to connect to
     * @throws SecurityException if the caller is not the system
     */
    RecommendationResult requestRecommendation(in RecommendationRequest request);

    /**
     * Request scoring for networks.
     *
@@ -120,18 +107,6 @@ interface INetworkScoreService
     */
    String getActiveScorerPackage();

    /**
     * Request a recommendation for the best network to connect to
     * taking into account the inputs from the {@link RecommendationRequest}.
     *
     * @param request a {@link RecommendationRequest} instance containing the details of the request
     * @param remoteCallback a {@link RemoteCallback} instance to invoke when the recommendation
     *                       is available.
     * @throws SecurityException if the caller is not the system
     */
    oneway void requestRecommendationAsync(in RecommendationRequest request,
                                           in RemoteCallback remoteCallback);

    /**
     * Returns metadata about the active scorer or <code>null</code> if there is no active scorer.
     */
+10 −21
Original line number Diff line number Diff line
@@ -39,10 +39,14 @@ import java.util.concurrent.atomic.AtomicBoolean;
public abstract class NetworkRecommendationProvider {
    private static final String TAG = "NetworkRecProvider";
    private static final boolean VERBOSE = Build.IS_DEBUGGABLE && Log.isLoggable(TAG, Log.VERBOSE);
    /** The key into the callback Bundle where the RecommendationResult will be found. */
    /** The key into the callback Bundle where the RecommendationResult will be found.
     * @deprecated to be removed.
     */
    public static final String EXTRA_RECOMMENDATION_RESULT =
            "android.net.extra.RECOMMENDATION_RESULT";
    /** The key into the callback Bundle where the sequence will be found. */
    /** The key into the callback Bundle where the sequence will be found.
     * @deprecated to be removed.
     */
    public static final String EXTRA_SEQUENCE = "android.net.extra.SEQUENCE";
    private final IBinder mService;

@@ -77,9 +81,9 @@ public abstract class NetworkRecommendationProvider {
     * @param callback a {@link ResultCallback} instance. When a {@link RecommendationResult} is
     *                 available it must be passed into
     *                 {@link ResultCallback#onResult(RecommendationResult)}.
     * @deprecated to be removed.
     */
    public abstract void onRequestRecommendation(RecommendationRequest request,
            ResultCallback callback);
    public void onRequestRecommendation(RecommendationRequest request, ResultCallback callback) {}

    /**
     * Invoked when network scores have been requested.
@@ -101,6 +105,8 @@ public abstract class NetworkRecommendationProvider {
    /**
     * A callback implementing applications should invoke when a {@link RecommendationResult}
     * is available.
     *
     * @deprecated to be removed.
     */
    public static class ResultCallback {
        private final IRemoteCallback mCallback;
@@ -175,23 +181,6 @@ public abstract class NetworkRecommendationProvider {
            mHandler = null;
        }

        @Override
        public void requestRecommendation(final RecommendationRequest request,
                final IRemoteCallback callback, final int sequence) throws RemoteException {
            enforceCallingPermission();
            if (VERBOSE) Log.v(TAG, "requestRecommendation(seq=" + sequence + ")");
            execute(new Runnable() {
                @Override
                public void run() {
                    if (VERBOSE) {
                        Log.v(TAG, "requestRecommendation(seq=" + sequence + ") running...");
                    }
                    ResultCallback resultCallback = new ResultCallback(callback, sequence);
                    onRequestRecommendation(request, resultCallback);
                }
            });
        }

        @Override
        public void requestScores(final NetworkKey[] networks) throws RemoteException {
            enforceCallingPermission();
+2 −44
Original line number Diff line number Diff line
@@ -428,14 +428,11 @@ public class NetworkScoreManager {
     * @throws SecurityException if the caller does not hold the
     *         {@link android.Manifest.permission#REQUEST_NETWORK_SCORES} permission.
     * @hide
     * @deprecated to be removed.
     */
    public RecommendationResult requestRecommendation(RecommendationRequest request)
            throws SecurityException {
        try {
            return mService.requestRecommendation(request);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
        return null;
    }

    /**
@@ -452,43 +449,4 @@ public class NetworkScoreManager {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * Request a recommendation for which network to connect to.
     *
     * <p>The callback will be run on the thread associated with provided {@link Handler}.
     *
     * @param request a {@link RecommendationRequest} instance containing additional
     *                request details
     * @param handler a {@link Handler} instance representing the thread to complete the future on.
     *                If null the responding binder thread will be used.
     * @return a {@link CompletableFuture} instance that will eventually receive the
     *         {@link RecommendationResult}.
     * @throws SecurityException
     * @hide
     */
    public CompletableFuture<RecommendationResult> requestRecommendation(
            final @NonNull RecommendationRequest request,
            final @Nullable Handler handler) {
        Preconditions.checkNotNull(request, "RecommendationRequest cannot be null.");

        final CompletableFuture<RecommendationResult> futureResult =
                new CompletableFuture<>();

        RemoteCallback remoteCallback = new RemoteCallback(new RemoteCallback.OnResultListener() {
            @Override
            public void onResult(Bundle data) {
                RecommendationResult result = data.getParcelable(EXTRA_RECOMMENDATION_RESULT);
                futureResult.complete(result);
            }
        }, handler);

        try {
            mService.requestRecommendationAsync(request, remoteCallback);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }

        return futureResult;
    }
}
Loading