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

Commit b16500d5 authored by James Mattis's avatar James Mattis
Browse files

Support for hotspot client visibility.

Adding support for visibility into clients that connect to an active hotspot.

Bug: 137309578
Test: Tested manually on a Hawk
Change-Id: Ife4bb5ca7bbcf075683cb0a233f2b5716ccd51d9
parent 8ed25688
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -16,14 +16,11 @@

package com.android.settings.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.LifecycleObserver;
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,13 @@ public class WifiTetherPreferenceController extends AbstractPreferenceController
                    }

                    @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
                            mPreference.setSummary(mContext.getResources().getQuantityString(
                                    R.plurals.wifi_tether_connected_summary, numClients,
                                    numClients));
                                    R.plurals.wifi_tether_connected_summary, clients.size(),
                                    clients.size()));
                        }
                    }
                });
+11 −3
Original line number Diff line number Diff line
package com.android.settings.wifi.tether;

import android.net.wifi.WifiClient;
import android.net.wifi.WifiManager;
import android.os.Handler;

import java.util.List;

/**
 * Wrapper for {@link android.net.wifi.WifiManager.SoftApCallback} to pass the robo test
 */
@@ -18,8 +21,8 @@ public class WifiTetherSoftApManager {
        }

        @Override
        public void onNumClientsChanged(int numClients) {
            mWifiTetherSoftApCallback.onNumClientsChanged(numClients);
        public void onConnectedClientsChanged(List<WifiClient> clients) {
            mWifiTetherSoftApCallback.onConnectedClientsChanged(clients);
        }
    };
    private Handler mHandler;
@@ -42,6 +45,11 @@ public class WifiTetherSoftApManager {
    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);
    }
}