Merge changes I55b21a32,I4188007a into sc-dev
* changes: Explicitly opt-in to get location data from WifiInfo Fix the QS Tile issue
This commit is contained in:
@@ -75,7 +75,8 @@ public class WifiStatusTracker {
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
|
||||
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
|
||||
.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR).build();
|
||||
private final NetworkCallback mNetworkCallback = new NetworkCallback() {
|
||||
private final NetworkCallback mNetworkCallback =
|
||||
new NetworkCallback(NetworkCallback.FLAG_INCLUDE_LOCATION_INFO) {
|
||||
@Override
|
||||
public void onAvailable(
|
||||
Network network, NetworkCapabilities networkCapabilities,
|
||||
@@ -131,7 +132,8 @@ public class WifiStatusTracker {
|
||||
}
|
||||
}
|
||||
};
|
||||
private final NetworkCallback mDefaultNetworkCallback = new NetworkCallback() {
|
||||
private final NetworkCallback mDefaultNetworkCallback =
|
||||
new NetworkCallback(NetworkCallback.FLAG_INCLUDE_LOCATION_INFO) {
|
||||
@Override
|
||||
public void onCapabilitiesChanged(Network network, NetworkCapabilities nc) {
|
||||
// network is now the default network, and its capabilities are nc.
|
||||
|
||||
@@ -445,11 +445,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
|
||||
final ArrayList<String> tiles = new ArrayList<String>();
|
||||
boolean addedDefault = false;
|
||||
Set<String> addedSpecs = new ArraySet<>();
|
||||
// TODO(b/174753536): Move it into the config file.
|
||||
if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
|
||||
tiles.add("internet");
|
||||
addedSpecs.add("internet");
|
||||
}
|
||||
for (String tile : tileList.split(",")) {
|
||||
tile = tile.trim();
|
||||
if (tile.isEmpty()) continue;
|
||||
@@ -457,17 +452,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
|
||||
if (!addedDefault) {
|
||||
List<String> defaultSpecs = getDefaultSpecs(context);
|
||||
for (String spec : defaultSpecs) {
|
||||
// TODO(b/174753536): Move it into the config file.
|
||||
if (FeatureFlagUtils.isEnabled(
|
||||
context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
|
||||
if (spec.equals("wifi") || spec.equals("cell")) {
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if (spec.equals("internet")) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (!addedSpecs.contains(spec)) {
|
||||
tiles.add(spec);
|
||||
addedSpecs.add(spec);
|
||||
@@ -476,18 +460,40 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
|
||||
addedDefault = true;
|
||||
}
|
||||
} else {
|
||||
// TODO(b/174753536): Move it into the config file.
|
||||
if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
|
||||
if (tile.equals("wifi") || tile.equals("cell")) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (!addedSpecs.contains(tile)) {
|
||||
tiles.add(tile);
|
||||
addedSpecs.add(tile);
|
||||
}
|
||||
}
|
||||
}
|
||||
// TODO(b/174753536): Move it into the config file.
|
||||
// Only do the below hacking when at least one of the below tiles exist
|
||||
// --InternetTile
|
||||
// --WiFiTile
|
||||
// --CellularTIle
|
||||
if (tiles.contains("internet") || tiles.contains("wifi") || tiles.contains("cell")) {
|
||||
if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
|
||||
if (!tiles.contains("internet")) {
|
||||
tiles.add("internet");
|
||||
}
|
||||
if (tiles.contains("wifi")) {
|
||||
tiles.remove("wifi");
|
||||
}
|
||||
if (tiles.contains("cell")) {
|
||||
tiles.remove("cell");
|
||||
}
|
||||
} else {
|
||||
if (tiles.contains("internet")) {
|
||||
tiles.remove("internet");
|
||||
}
|
||||
if (!tiles.contains("wifi")) {
|
||||
tiles.add("wifi");
|
||||
}
|
||||
if (!tiles.contains("cell")) {
|
||||
tiles.add("cell");
|
||||
}
|
||||
}
|
||||
}
|
||||
return tiles;
|
||||
}
|
||||
|
||||
|
||||
@@ -115,9 +115,32 @@ public class TileQueryHelper {
|
||||
|
||||
final ArrayList<QSTile> tilesToAdd = new ArrayList<>();
|
||||
// TODO(b/174753536): Move it into the config file.
|
||||
if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
|
||||
if (!possibleTiles.contains("internet")) {
|
||||
possibleTiles.add("internet");
|
||||
// Only do the below hacking when at least one of the below tiles exist
|
||||
// --InternetTile
|
||||
// --WiFiTile
|
||||
// --CellularTIle
|
||||
if (possibleTiles.contains("internet") || possibleTiles.contains("wifi")
|
||||
|| possibleTiles.contains("cell")) {
|
||||
if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
|
||||
if (!possibleTiles.contains("internet")) {
|
||||
possibleTiles.add("internet");
|
||||
}
|
||||
if (possibleTiles.contains("wifi")) {
|
||||
possibleTiles.remove("wifi");
|
||||
}
|
||||
if (possibleTiles.contains("cell")) {
|
||||
possibleTiles.remove("cell");
|
||||
}
|
||||
} else {
|
||||
if (possibleTiles.contains("internet")) {
|
||||
possibleTiles.remove("internet");
|
||||
}
|
||||
if (!possibleTiles.contains("wifi")) {
|
||||
possibleTiles.add("wifi");
|
||||
}
|
||||
if (!possibleTiles.contains("cell")) {
|
||||
possibleTiles.add("cell");
|
||||
}
|
||||
}
|
||||
}
|
||||
for (String spec : possibleTiles) {
|
||||
@@ -125,15 +148,6 @@ public class TileQueryHelper {
|
||||
// Do not include CustomTile. Those will be created by `addPackageTiles`.
|
||||
if (spec.startsWith(CustomTile.PREFIX)) continue;
|
||||
// TODO(b/174753536): Move it into the config file.
|
||||
if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
|
||||
if (spec.equals("wifi") || spec.equals("cell")) {
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if (spec.equals("internet")) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
final QSTile tile = host.createTile(spec);
|
||||
if (tile == null) {
|
||||
continue;
|
||||
|
||||
@@ -31,6 +31,7 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.Configuration;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.ConnectivityManager.NetworkCallback;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.NetworkScoreManager;
|
||||
@@ -307,7 +308,8 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
||||
mWifiManager.registerScanResultsCallback(mReceiverHandler::post, scanResultsCallback);
|
||||
}
|
||||
|
||||
ConnectivityManager.NetworkCallback callback = new ConnectivityManager.NetworkCallback(){
|
||||
NetworkCallback callback =
|
||||
new NetworkCallback(NetworkCallback.FLAG_INCLUDE_LOCATION_INFO){
|
||||
private Network mLastNetwork;
|
||||
private NetworkCapabilities mLastNetworkCapabilities;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user