Merge "Deprecate NavigationState APIs, rm androidx.car-cluster refs"
diff --git a/service/src/com/android/car/CarProjectionService.java b/service/src/com/android/car/CarProjectionService.java
index def3299..3c7d842 100644
--- a/service/src/com/android/car/CarProjectionService.java
+++ b/service/src/com/android/car/CarProjectionService.java
@@ -49,15 +49,16 @@
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.Rect;
+import android.net.wifi.WifiClient;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager.LocalOnlyHotspotCallback;
import android.net.wifi.WifiManager.LocalOnlyHotspotReservation;
-import android.net.wifi.WifiManager.SoftApCallback;
import android.net.wifi.WifiScanner;
import android.os.Binder;
import android.os.Bundle;
import android.os.Handler;
+import android.os.HandlerExecutor;
import android.os.IBinder;
import android.os.Message;
import android.os.Messenger;
@@ -595,7 +596,7 @@
if (mSoftApCallback == null) {
mSoftApCallback = new ProjectionSoftApCallback();
- mWifiManager.registerSoftApCallback(mSoftApCallback, mHandler);
+ mWifiManager.registerSoftApCallback(mSoftApCallback, new HandlerExecutor(mHandler));
ensureApConfiguration();
}
@@ -940,7 +941,7 @@
}
}
- private class ProjectionSoftApCallback implements SoftApCallback {
+ private class ProjectionSoftApCallback implements WifiManager.SoftApCallback {
private boolean mCurrentStateCall = true;
@Override
@@ -982,8 +983,11 @@
}
@Override
- public void onNumClientsChanged(int numClients) {
- Log.i(TAG, "ProjectionSoftApCallback, onNumClientsChanged: " + numClients);
+ public void onConnectedClientsChanged(List<WifiClient> clients) {
+ if (DBG) {
+ Log.d(TAG, "ProjectionSoftApCallback, onConnectedClientsChanged with "
+ + clients.size() + " clients");
+ }
}
}
diff --git a/tests/CarDeveloperOptions/src/com/android/car/developeroptions/wifi/tether/WifiTetherPreferenceController.java b/tests/CarDeveloperOptions/src/com/android/car/developeroptions/wifi/tether/WifiTetherPreferenceController.java
index 3ce80a5..3097e3b 100644
--- a/tests/CarDeveloperOptions/src/com/android/car/developeroptions/wifi/tether/WifiTetherPreferenceController.java
+++ b/tests/CarDeveloperOptions/src/com/android/car/developeroptions/wifi/tether/WifiTetherPreferenceController.java
@@ -16,14 +16,11 @@
package com.android.car.developeroptions.wifi.tether;
-import android.content.BroadcastReceiver;
import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
import android.net.ConnectivityManager;
+import android.net.wifi.WifiClient;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
-import android.provider.Settings;
import android.text.BidiFormatter;
import androidx.annotation.VisibleForTesting;
@@ -39,6 +36,8 @@
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
+import java.util.List;
+
public class WifiTetherPreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop {
@@ -128,13 +127,14 @@
}
@Override
- public void onNumClientsChanged(int numClients) {
+ public void onConnectedClientsChanged(List<WifiClient> clients) {
if (mPreference != null
&& mSoftApState == WifiManager.WIFI_AP_STATE_ENABLED) {
// Only show the number of clients when state is on
+ int numberOfClients = clients.size();
mPreference.setSummary(mContext.getResources().getQuantityString(
- R.plurals.wifi_tether_connected_summary, numClients,
- numClients));
+ R.plurals.wifi_tether_connected_summary, numberOfClients,
+ numberOfClients));
}
}
});
diff --git a/tests/CarDeveloperOptions/src/com/android/car/developeroptions/wifi/tether/WifiTetherSoftApManager.java b/tests/CarDeveloperOptions/src/com/android/car/developeroptions/wifi/tether/WifiTetherSoftApManager.java
index f31a64f..0d3f8d2 100644
--- a/tests/CarDeveloperOptions/src/com/android/car/developeroptions/wifi/tether/WifiTetherSoftApManager.java
+++ b/tests/CarDeveloperOptions/src/com/android/car/developeroptions/wifi/tether/WifiTetherSoftApManager.java
@@ -1,7 +1,11 @@
package com.android.car.developeroptions.wifi.tether;
+import android.net.wifi.WifiClient;
import android.net.wifi.WifiManager;
import android.os.Handler;
+import android.os.HandlerExecutor;
+
+import java.util.List;
/**
* Wrapper for {@link android.net.wifi.WifiManager.SoftApCallback} to pass the robo test
@@ -18,8 +22,8 @@
}
@Override
- public void onNumClientsChanged(int numClients) {
- mWifiTetherSoftApCallback.onNumClientsChanged(numClients);
+ public void onConnectedClientsChanged(List<WifiClient> clients) {
+ mWifiTetherSoftApCallback.onConnectedClientsChanged(clients);
}
};
private Handler mHandler;
@@ -32,7 +36,7 @@
}
public void registerSoftApCallback() {
- mWifiManager.registerSoftApCallback(mSoftApCallback, mHandler);
+ mWifiManager.registerSoftApCallback(mSoftApCallback, new HandlerExecutor(mHandler));
}
public void unRegisterSoftApCallback() {
@@ -42,6 +46,11 @@
public interface WifiTetherSoftApCallback {
void onStateChanged(int state, int failureReason);
- void onNumClientsChanged(int numClients);
+ /**
+ * Called when the connected clients to soft AP changes.
+ *
+ * @param clients the currently connected clients
+ */
+ void onConnectedClientsChanged(List<WifiClient> clients);
}
}
diff --git a/tools/keventreader/server/keymap.cpp b/tools/keventreader/server/keymap.cpp
index 2e7c06d..5a86ff1 100644
--- a/tools/keventreader/server/keymap.cpp
+++ b/tools/keventreader/server/keymap.cpp
@@ -28,7 +28,7 @@
fillMap();
}
-std::string_view Keymap::getDisplayName(int keycode) {
+std::string Keymap::getDisplayName(int keycode) {
auto iter = mKeyMap.find(keycode), end = mKeyMap.end();
if (iter == end) {
std::stringstream ss;
diff --git a/tools/keventreader/server/keymap.h b/tools/keventreader/server/keymap.h
index 28f68d6..86ec4d5 100644
--- a/tools/keventreader/server/keymap.h
+++ b/tools/keventreader/server/keymap.h
@@ -25,7 +25,7 @@
public:
static Keymap& get();
- std::string_view getDisplayName(int keycode);
+ std::string getDisplayName(int keycode);
private:
std::map<int, const char*> mKeyMap;