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

Commit f621c4ba authored by Xiao Ma's avatar Xiao Ma
Browse files

Fix EthernetManager.addListener dependency in Tethering settings.

Ethernet service related files are going to be moved into Connectivity
module. EthernetManager.addListener(listener, exectuor) will be exposed
out as module-lib API. Replace the current API usage with the one to be
exposed.

android.os.HandlerExecutor is a hidden API which isn't visible to modules,
try to replace HanlderExecutor class with Handler.post itself although
Setttings can still access this API.

Bug: 210586283
Test: m
Change-Id: I618b43769c68897f4724fae8213181be1cc770c6
parent 0ccb8750
Loading
Loading
Loading
Loading
+2 −3
Original line number Original line Diff line number Diff line
@@ -39,7 +39,6 @@ import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.Bundle;
import android.os.Environment;
import android.os.Environment;
import android.os.Handler;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.UserHandle;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.UserManager;
import android.provider.SearchIndexableResource;
import android.provider.SearchIndexableResource;
@@ -324,14 +323,14 @@ public class TetherSettings extends RestrictedSettingsFragment


        mStartTetheringCallback = new OnStartTetheringCallback(this);
        mStartTetheringCallback = new OnStartTetheringCallback(this);
        mTetheringEventCallback = new TetheringEventCallback();
        mTetheringEventCallback = new TetheringEventCallback();
        mTm.registerTetheringEventCallback(new HandlerExecutor(mHandler), mTetheringEventCallback);
        mTm.registerTetheringEventCallback(r -> mHandler.post(r), mTetheringEventCallback);


        mMassStorageActive = Environment.MEDIA_SHARED.equals(Environment.getExternalStorageState());
        mMassStorageActive = Environment.MEDIA_SHARED.equals(Environment.getExternalStorageState());
        registerReceiver();
        registerReceiver();


        mEthernetListener = new EthernetListener();
        mEthernetListener = new EthernetListener();
        if (mEm != null)
        if (mEm != null)
            mEm.addListener(mEthernetListener);
            mEm.addListener(mEthernetListener, r -> mHandler.post(r));


        updateUsbState();
        updateUsbState();
        updateBluetoothAndEthernetState();
        updateBluetoothAndEthernetState();
+6 −7
Original line number Original line Diff line number Diff line
@@ -48,13 +48,12 @@ public final class EthernetTetherPreferenceController extends TetherBasePreferen


    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    public void onStart() {
    public void onStart() {
        mEthernetListener = new EthernetManager.Listener() {
        mEthernetListener = (iface, isAvailable) -> updateState(mPreference);
            @Override
        final Handler handler = new Handler(Looper.getMainLooper());
            public void onAvailabilityChanged(String iface, boolean isAvailable) {
        // Executor will execute to post the updateState event to a new handler which is created
                new Handler(Looper.getMainLooper()).post(() -> updateState(mPreference));
        // from the main looper when the {@link EthernetManager.Listener.onAvailabilityChanged}
            }
        // is triggerd.
        };
        mEthernetManager.addListener(mEthernetListener, r -> handler.post(r));
        mEthernetManager.addListener(mEthernetListener);
    }
    }


    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)