diff options
| author | 2017-08-18 00:15:31 +0000 | |
|---|---|---|
| committer | 2017-08-18 00:15:31 +0000 | |
| commit | 90658fab430116adf0f6c86fc97dac97ddbd0d5c (patch) | |
| tree | 55de03ddcb4576c9119af7108e4fa38081f132f1 | |
| parent | 8e74686fb443cce98ae94a9dbd2f52d0086d93bf (diff) | |
| parent | 955e909aa0d6b0d6b624f1becb070a4e86af9465 (diff) | |
Merge "Add LOCATION_HARDWARE permission to Rtt API." into oc-mr1-dev
| -rw-r--r-- | wifi/java/android/net/wifi/RttManager.java | 50 |
1 files changed, 49 insertions, 1 deletions
diff --git a/wifi/java/android/net/wifi/RttManager.java b/wifi/java/android/net/wifi/RttManager.java index ac5df05373c1..dc5ba0cc83b5 100644 --- a/wifi/java/android/net/wifi/RttManager.java +++ b/wifi/java/android/net/wifi/RttManager.java @@ -1,5 +1,6 @@ package android.net.wifi; +import android.Manifest; import android.annotation.NonNull; import android.annotation.RequiresPermission; import android.annotation.SuppressLint; @@ -313,6 +314,7 @@ public class RttManager { }; } + @RequiresPermission(Manifest.permission.LOCATION_HARDWARE) public RttCapabilities getRttCapabilities() { synchronized (mCapabilitiesLock) { if (mRttCapabilities == null) { @@ -925,6 +927,51 @@ public class RttManager { public void onAborted(); } + /** + * A parcelable that contains rtt client information. + * + * @hide + */ + public static class RttClient implements Parcelable { + // Package name of RttClient. + private final String mPackageName; + + public RttClient(String packageName) { + mPackageName = packageName; + } + + protected RttClient(Parcel in) { + mPackageName = in.readString(); + } + + public static final Creator<RttManager.RttClient> CREATOR = + new Creator<RttManager.RttClient>() { + @Override + public RttManager.RttClient createFromParcel(Parcel in) { + return new RttManager.RttClient(in); + } + + @Override + public RttManager.RttClient[] newArray(int size) { + return new RttManager.RttClient[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel parcel, int i) { + parcel.writeString(mPackageName); + } + + public String getPackageName() { + return mPackageName; + } + } + private boolean rttParamSanity(RttParams params, int index) { if (mRttCapabilities == null) { if(getRttCapabilities() == null) { @@ -1236,7 +1283,8 @@ public class RttManager { mAsyncChannel.connectSync(mContext, handler, messenger); // We cannot use fullyConnectSync because it sends the FULL_CONNECTION message // synchronously, which causes RttService to receive the wrong replyTo value. - mAsyncChannel.sendMessage(AsyncChannel.CMD_CHANNEL_FULL_CONNECTION); + mAsyncChannel.sendMessage(AsyncChannel.CMD_CHANNEL_FULL_CONNECTION, + new RttClient(context.getPackageName())); mAsyncChannel.sendMessage(CMD_OP_REG_BINDER, key[0]); } |