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

Commit fcceb3ad authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Avoid exposing OffloadCallbackEvent values" into oc-dr1-dev

parents ea0beea5 a0885000
Loading
Loading
Loading
Loading
+30 −2
Original line number Original line Diff line number Diff line
@@ -77,8 +77,36 @@ public class OffloadController {
        mControlInitialized = mHwInterface.initOffloadControl(
        mControlInitialized = mHwInterface.initOffloadControl(
                new OffloadHardwareInterface.ControlCallback() {
                new OffloadHardwareInterface.ControlCallback() {
                    @Override
                    @Override
                    public void onOffloadEvent(int event) {
                    public void onStarted() {
                        mLog.log("got offload event: " + event);
                        mLog.log("onStarted");
                    }

                    @Override
                    public void onStoppedError() {
                        mLog.log("onStoppedError");
                    }

                    @Override
                    public void onStoppedUnsupported() {
                        mLog.log("onStoppedUnsupported");
                    }

                    @Override
                    public void onSupportAvailable() {
                        mLog.log("onSupportAvailable");

                        // [1] Poll for statistics and notify NetworkStats
                        // [2] (Re)Push all state:
                        //     [a] push local prefixes
                        //     [b] push downstreams
                        //     [c] push upstream parameters
                        pushUpstreamParameters();
                    }

                    @Override
                    public void onStoppedLimitReached() {
                        mLog.log("onStoppedLimitReached");
                        // Poll for statistics and notify NetworkStats
                    }
                    }


                    @Override
                    @Override
+31 −4
Original line number Original line Diff line number Diff line
@@ -21,6 +21,7 @@ import static com.android.internal.util.BitUtils.uint16;
import android.hardware.tetheroffload.control.V1_0.IOffloadControl;
import android.hardware.tetheroffload.control.V1_0.IOffloadControl;
import android.hardware.tetheroffload.control.V1_0.ITetheringOffloadCallback;
import android.hardware.tetheroffload.control.V1_0.ITetheringOffloadCallback;
import android.hardware.tetheroffload.control.V1_0.NatTimeoutUpdate;
import android.hardware.tetheroffload.control.V1_0.NatTimeoutUpdate;
import android.hardware.tetheroffload.control.V1_0.OffloadCallbackEvent;
import android.os.Handler;
import android.os.Handler;
import android.os.RemoteException;
import android.os.RemoteException;
import android.net.util.SharedLog;
import android.net.util.SharedLog;
@@ -53,7 +54,11 @@ public class OffloadHardwareInterface {
    private ControlCallback mControlCallback;
    private ControlCallback mControlCallback;


    public static class ControlCallback {
    public static class ControlCallback {
        public void onOffloadEvent(int event) {}
        public void onStarted() {}
        public void onStoppedError() {}
        public void onStoppedUnsupported() {}
        public void onSupportAvailable() {}
        public void onStoppedLimitReached() {}


        public void onNatTimeoutUpdate(int proto,
        public void onNatTimeoutUpdate(int proto,
                                       String srcAddr, int srcPort,
                                       String srcAddr, int srcPort,
@@ -108,7 +113,7 @@ public class OffloadHardwareInterface {
                (controlCb == null) ? "null"
                (controlCb == null) ? "null"
                        : "0x" + Integer.toHexString(System.identityHashCode(controlCb)));
                        : "0x" + Integer.toHexString(System.identityHashCode(controlCb)));


        mTetheringOffloadCallback = new TetheringOffloadCallback(mHandler, mControlCallback);
        mTetheringOffloadCallback = new TetheringOffloadCallback(mHandler, mControlCallback, mLog);
        final CbResults results = new CbResults();
        final CbResults results = new CbResults();
        try {
        try {
            mOffloadControl.initOffload(
            mOffloadControl.initOffload(
@@ -206,15 +211,37 @@ public class OffloadHardwareInterface {
    private static class TetheringOffloadCallback extends ITetheringOffloadCallback.Stub {
    private static class TetheringOffloadCallback extends ITetheringOffloadCallback.Stub {
        public final Handler handler;
        public final Handler handler;
        public final ControlCallback controlCb;
        public final ControlCallback controlCb;
        public final SharedLog log;


        public TetheringOffloadCallback(Handler h, ControlCallback cb) {
        public TetheringOffloadCallback(Handler h, ControlCallback cb, SharedLog sharedLog) {
            handler = h;
            handler = h;
            controlCb = cb;
            controlCb = cb;
            log = sharedLog;
        }
        }


        @Override
        @Override
        public void onEvent(int event) {
        public void onEvent(int event) {
            handler.post(() -> { controlCb.onOffloadEvent(event); });
            handler.post(() -> {
                switch (event) {
                    case OffloadCallbackEvent.OFFLOAD_STARTED:
                        controlCb.onStarted();
                        break;
                    case OffloadCallbackEvent.OFFLOAD_STOPPED_ERROR:
                        controlCb.onStoppedError();
                        break;
                    case OffloadCallbackEvent.OFFLOAD_STOPPED_UNSUPPORTED:
                        controlCb.onStoppedUnsupported();
                        break;
                    case OffloadCallbackEvent.OFFLOAD_SUPPORT_AVAILABLE:
                        controlCb.onSupportAvailable();
                        break;
                    case OffloadCallbackEvent.OFFLOAD_STOPPED_LIMIT_REACHED:
                        controlCb.onStoppedLimitReached();
                        break;
                    default:
                        log.e("Unsupported OffloadCallbackEvent: " + event);
                }
            });
        }
        }


        @Override
        @Override