Merge changes from topics "framework-wifi-apex", "split-framework-wifi"
* changes: Move framework-wifi into the Wifi APEX Create WifiAnnotations and jarjar into framework Split framework-wifi.jar out of framework.jar
This commit is contained in:
33
Android.bp
33
Android.bp
@@ -199,30 +199,6 @@ filegroup {
|
||||
path: "mms/java",
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "framework-wifi-sources",
|
||||
srcs: [
|
||||
"wifi/java/**/*.java",
|
||||
"wifi/java/**/*.aidl",
|
||||
],
|
||||
exclude_srcs: [
|
||||
":framework-wifi-non-updatable-sources"
|
||||
],
|
||||
path: "wifi/java",
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "framework-wifi-non-updatable-sources",
|
||||
srcs: [
|
||||
// TODO(b/146011398) package android.net.wifi is now split amongst 2 jars: framework.jar and
|
||||
// framework-wifi.jar. This is not a good idea, should move WifiNetworkScoreCache
|
||||
// to a separate package.
|
||||
"wifi/java/android/net/wifi/WifiNetworkScoreCache.java",
|
||||
"wifi/java/android/net/wifi/WifiCondManager.java",
|
||||
"wifi/java/android/net/wifi/wificond/*.java",
|
||||
],
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "framework-non-updatable-sources",
|
||||
srcs: [
|
||||
@@ -247,9 +223,8 @@ filegroup {
|
||||
":framework-telecomm-sources",
|
||||
":framework-telephony-common-sources",
|
||||
":framework-telephony-sources",
|
||||
":framework-wifi-sources",
|
||||
":framework-wifi-annotations",
|
||||
":framework-wifi-non-updatable-sources",
|
||||
":libwificond_ipc_aidl",
|
||||
":PacProcessor-aidl-sources",
|
||||
":ProxyHandler-aidl-sources",
|
||||
|
||||
@@ -290,6 +265,7 @@ filegroup {
|
||||
":framework-sdkext-sources",
|
||||
":framework-statsd-sources",
|
||||
":updatable-media-srcs",
|
||||
":framework-wifi-updatable-sources",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -425,7 +401,7 @@ java_defaults {
|
||||
|
||||
filegroup {
|
||||
name: "framework-jarjar-rules",
|
||||
srcs: ["jarjar_rules_hidl.txt"],
|
||||
srcs: ["framework-jarjar-rules.txt"],
|
||||
}
|
||||
|
||||
filegroup {
|
||||
@@ -453,6 +429,7 @@ java_library {
|
||||
libs: [
|
||||
// TODO(b/146167933): Use framework-statsd-stubs
|
||||
"framework-statsd",
|
||||
"framework-wifi-stubs",
|
||||
],
|
||||
installable: true,
|
||||
javac_shard_size: 150,
|
||||
@@ -492,6 +469,8 @@ java_library {
|
||||
"framework-sdkext-stubs-systemapi",
|
||||
// TODO(b/146167933): Use framework-statsd-stubs instead.
|
||||
"framework-statsd",
|
||||
// TODO(b/140299412): should be framework-wifi-stubs
|
||||
"framework-wifi",
|
||||
// TODO(jiyong): add more stubs for APEXes here
|
||||
],
|
||||
sdk_version: "core_platform",
|
||||
|
||||
@@ -40,6 +40,7 @@ static const char* kPathWhitelist[] = {
|
||||
"/apex/com.android.sdkext/javalib/framework-sdkext.jar",
|
||||
"/apex/com.android.telephony/javalib/telephony-common.jar",
|
||||
"/apex/com.android.telephony/javalib/ims-common.jar",
|
||||
"/apex/com.android.wifi/javalib/framework-wifi.jar",
|
||||
"/dev/null",
|
||||
"/dev/socket/zygote",
|
||||
"/dev/socket/zygote_secondary",
|
||||
|
||||
2
framework-jarjar-rules.txt
Normal file
2
framework-jarjar-rules.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
rule android.hidl.** android.internal.hidl.@1
|
||||
rule android.net.wifi.WifiAnnotations* android.internal.wifi.WifiAnnotations@1
|
||||
@@ -1 +0,0 @@
|
||||
rule android.hidl.** android.internal.hidl.@1
|
||||
102
wifi/Android.bp
Normal file
102
wifi/Android.bp
Normal file
@@ -0,0 +1,102 @@
|
||||
// Copyright (C) 2019 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
|
||||
filegroup {
|
||||
name: "framework-wifi-updatable-sources",
|
||||
srcs: [
|
||||
"java/**/*.java",
|
||||
"java/**/*.aidl",
|
||||
],
|
||||
exclude_srcs: [
|
||||
":framework-wifi-non-updatable-sources"
|
||||
],
|
||||
path: "java",
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "framework-wifi-non-updatable-sources",
|
||||
srcs: [
|
||||
// TODO(b/146011398) package android.net.wifi is now split amongst 2 jars: framework.jar and
|
||||
// framework-wifi.jar. This is not a good idea, should move WifiNetworkScoreCache
|
||||
// to a separate package.
|
||||
"java/android/net/wifi/WifiNetworkScoreCache.java",
|
||||
"java/android/net/wifi/WifiCondManager.java",
|
||||
"java/android/net/wifi/wificond/*.java",
|
||||
":libwificond_ipc_aidl",
|
||||
],
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "framework-wifi-annotations",
|
||||
srcs: ["java/android/net/wifi/WifiAnnotations.java"],
|
||||
}
|
||||
|
||||
java_library {
|
||||
name: "framework-wifi",
|
||||
sdk_version: "core_platform", // TODO(b/140299412) should be core_current
|
||||
libs: [
|
||||
"framework-minus-apex", // TODO(b/140299412) should be framework-system-stubs
|
||||
],
|
||||
srcs: [
|
||||
":framework-wifi-updatable-sources",
|
||||
],
|
||||
installable: true,
|
||||
optimize: {
|
||||
enabled: false
|
||||
}
|
||||
}
|
||||
|
||||
metalava_wifi_docs_args =
|
||||
"--hide-package com.android.server " +
|
||||
"--error UnhiddenSystemApi " +
|
||||
"--hide RequiresPermission " +
|
||||
"--hide MissingPermission " +
|
||||
"--hide BroadcastBehavior " +
|
||||
"--hide HiddenSuperclass " +
|
||||
"--hide DeprecationMismatch " +
|
||||
"--hide UnavailableSymbol " +
|
||||
"--hide SdkConstant " +
|
||||
"--hide HiddenTypeParameter " +
|
||||
"--hide Todo --hide Typo " +
|
||||
"--hide HiddenTypedefConstant " +
|
||||
"--show-annotation android.annotation.SystemApi "
|
||||
|
||||
droidstubs {
|
||||
name: "framework-wifi-stubs-srcs",
|
||||
srcs: [
|
||||
":framework-annotations",
|
||||
":framework-wifi-updatable-sources",
|
||||
],
|
||||
aidl: {
|
||||
include_dirs: ["frameworks/base/core/java"],
|
||||
},
|
||||
args: metalava_wifi_docs_args,
|
||||
sdk_version: "core_current",
|
||||
libs: ["android_system_stubs_current"],
|
||||
}
|
||||
|
||||
java_library {
|
||||
name: "framework-wifi-stubs",
|
||||
srcs: [":framework-wifi-stubs-srcs"],
|
||||
aidl: {
|
||||
export_include_dirs: [
|
||||
"java",
|
||||
],
|
||||
},
|
||||
sdk_version: "core_current",
|
||||
libs: ["android_system_stubs_current"],
|
||||
installable: false,
|
||||
}
|
||||
|
||||
51
wifi/java/android/net/wifi/WifiAnnotations.java
Normal file
51
wifi/java/android/net/wifi/WifiAnnotations.java
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.net.wifi;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.StringDef;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
/**
|
||||
* Wifi annotations meant to be statically linked into client modules, since they cannot be
|
||||
* exposed as @SystemApi.
|
||||
*
|
||||
* e.g. {@link IntDef}, {@link StringDef}
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public final class WifiAnnotations {
|
||||
private WifiAnnotations() {}
|
||||
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef(prefix = {"SCAN_TYPE_"}, value = {
|
||||
WifiScanner.SCAN_TYPE_LOW_LATENCY,
|
||||
WifiScanner.SCAN_TYPE_LOW_POWER,
|
||||
WifiScanner.SCAN_TYPE_HIGH_ACCURACY})
|
||||
public @interface ScanType {}
|
||||
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef(prefix = {"WIFI_BAND_"}, value = {
|
||||
WifiScanner.WIFI_BAND_UNSPECIFIED,
|
||||
WifiScanner.WIFI_BAND_24_GHZ,
|
||||
WifiScanner.WIFI_BAND_5_GHZ,
|
||||
WifiScanner.WIFI_BAND_5_GHZ_DFS_ONLY,
|
||||
WifiScanner.WIFI_BAND_6_GHZ})
|
||||
public @interface WifiBandBasic {}
|
||||
}
|
||||
@@ -725,7 +725,7 @@ public class WifiCondManager implements IBinder.DeathRecipient {
|
||||
/**
|
||||
* Return scan type for the parcelable {@link SingleScanSettings}
|
||||
*/
|
||||
private static int getScanType(@WifiScanner.ScanType int scanType) {
|
||||
private static int getScanType(@WifiAnnotations.ScanType int scanType) {
|
||||
switch (scanType) {
|
||||
case WifiScanner.SCAN_TYPE_LOW_LATENCY:
|
||||
return IWifiScannerImpl.SCAN_TYPE_LOW_SPAN;
|
||||
@@ -746,7 +746,7 @@ public class WifiCondManager implements IBinder.DeathRecipient {
|
||||
* @param hiddenNetworkSSIDs List of hidden networks to be scanned for.
|
||||
* @return Returns true on success.
|
||||
*/
|
||||
public boolean scan(@NonNull String ifaceName, @WifiScanner.ScanType int scanType,
|
||||
public boolean scan(@NonNull String ifaceName, @WifiAnnotations.ScanType int scanType,
|
||||
Set<Integer> freqs, List<byte[]> hiddenNetworkSSIDs) {
|
||||
IWifiScannerImpl scannerImpl = getScannerImpl(ifaceName);
|
||||
if (scannerImpl == null) {
|
||||
@@ -868,7 +868,7 @@ public class WifiCondManager implements IBinder.DeathRecipient {
|
||||
* @return frequencies vector of valid frequencies (MHz), or null for error.
|
||||
* @throws IllegalArgumentException if band is not recognized.
|
||||
*/
|
||||
public int [] getChannelsForBand(@WifiScanner.WifiBandBasic int band) {
|
||||
public int [] getChannelsForBand(@WifiAnnotations.WifiBandBasic int band) {
|
||||
if (mWificond == null) {
|
||||
Log.e(TAG, "No valid wificond scanner interface handler");
|
||||
return null;
|
||||
|
||||
@@ -89,16 +89,6 @@ public class WifiScanner {
|
||||
/** 6 GHz band */
|
||||
public static final int WIFI_BAND_6_GHZ = 1 << WIFI_BAND_INDEX_6_GHZ;
|
||||
|
||||
/** @hide */
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef(prefix = {"WIFI_BAND_"}, value = {
|
||||
WIFI_BAND_UNSPECIFIED,
|
||||
WIFI_BAND_24_GHZ,
|
||||
WIFI_BAND_5_GHZ,
|
||||
WIFI_BAND_5_GHZ_DFS_ONLY,
|
||||
WIFI_BAND_6_GHZ})
|
||||
public @interface WifiBandBasic {}
|
||||
|
||||
/**
|
||||
* Combination of bands
|
||||
* Note that those are only the common band combinations,
|
||||
@@ -249,14 +239,6 @@ public class WifiScanner {
|
||||
*/
|
||||
public static final int REPORT_EVENT_NO_BATCH = (1 << 2);
|
||||
|
||||
/** @hide */
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@IntDef(prefix = {"SCAN_TYPE_"}, value = {
|
||||
SCAN_TYPE_LOW_LATENCY,
|
||||
SCAN_TYPE_LOW_POWER,
|
||||
SCAN_TYPE_HIGH_ACCURACY})
|
||||
public @interface ScanType {}
|
||||
|
||||
/**
|
||||
* Optimize the scan for lower latency.
|
||||
* @see ScanSettings#type
|
||||
@@ -354,7 +336,7 @@ public class WifiScanner {
|
||||
* {@link #SCAN_TYPE_HIGH_ACCURACY}.
|
||||
* Default value: {@link #SCAN_TYPE_LOW_LATENCY}.
|
||||
*/
|
||||
@ScanType
|
||||
@WifiAnnotations.ScanType
|
||||
@RequiresPermission(android.Manifest.permission.NETWORK_STACK)
|
||||
public int type = SCAN_TYPE_LOW_LATENCY;
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user