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

Commit f3117ca3 authored by nharold's avatar nharold Committed by Gerrit Code Review
Browse files

Merge "Add WCDMA Signal Strength to SignalStrength"

parents 619ff7ec e6702220
Loading
Loading
Loading
Loading
+23 −3
Original line number Original line Diff line number Diff line
@@ -5246,8 +5246,8 @@ public class RIL extends BaseCommands implements CommandsInterface {
                            cellInfoWcdma.cellIdentityWcdma.base.mnc,
                            cellInfoWcdma.cellIdentityWcdma.base.mnc,
                            cellInfoWcdma.cellIdentityWcdma.operatorNames.alphaLong,
                            cellInfoWcdma.cellIdentityWcdma.operatorNames.alphaLong,
                            cellInfoWcdma.cellIdentityWcdma.operatorNames.alphaShort,
                            cellInfoWcdma.cellIdentityWcdma.operatorNames.alphaShort,
                            cellInfoWcdma.signalStrengthWcdma.signalStrength,
                            cellInfoWcdma.signalStrengthWcdma.base.signalStrength,
                            cellInfoWcdma.signalStrengthWcdma.bitErrorRate);
                            cellInfoWcdma.signalStrengthWcdma.base.bitErrorRate);
                    break;
                    break;
                }
                }


@@ -5266,7 +5266,8 @@ public class RIL extends BaseCommands implements CommandsInterface {


    static SignalStrength convertHalSignalStrength(
    static SignalStrength convertHalSignalStrength(
            android.hardware.radio.V1_0.SignalStrength signalStrength) {
            android.hardware.radio.V1_0.SignalStrength signalStrength) {
        return new SignalStrength(signalStrength.gw.signalStrength,
        return new SignalStrength(
                signalStrength.gw.signalStrength,
                signalStrength.gw.bitErrorRate,
                signalStrength.gw.bitErrorRate,
                signalStrength.cdma.dbm,
                signalStrength.cdma.dbm,
                signalStrength.cdma.ecio,
                signalStrength.cdma.ecio,
@@ -5280,4 +5281,23 @@ public class RIL extends BaseCommands implements CommandsInterface {
                signalStrength.lte.cqi,
                signalStrength.lte.cqi,
                signalStrength.tdScdma.rscp);
                signalStrength.tdScdma.rscp);
    }
    }

    static SignalStrength convertHalSignalStrength_1_2(
            android.hardware.radio.V1_2.SignalStrength signalStrength) {
        // TODO: Pipe WCDMA up
        return new SignalStrength(
                signalStrength.gsm.signalStrength,
                signalStrength.gsm.bitErrorRate,
                signalStrength.cdma.dbm,
                signalStrength.cdma.ecio,
                signalStrength.evdo.dbm,
                signalStrength.evdo.ecio,
                signalStrength.evdo.signalNoiseRatio,
                signalStrength.lte.signalStrength,
                signalStrength.lte.rsrp,
                signalStrength.lte.rsrq,
                signalStrength.lte.rssnr,
                signalStrength.lte.cqi,
                signalStrength.tdScdma.rscp);
    }
}
}
+16 −0
Original line number Original line Diff line number Diff line
@@ -242,6 +242,22 @@ public class RadioIndication extends IRadioIndication.Stub {
      // TODO(b/70638175) Implement method.
      // TODO(b/70638175) Implement method.
    }
    }


    /**
     * Indicates the current signal strength of the camped or primary serving cell.
     */
    public void currentSignalStrength_1_2(int indicationType,
                                      android.hardware.radio.V1_2.SignalStrength signalStrength) {
        mRil.processIndication(indicationType);

        SignalStrength ss = RIL.convertHalSignalStrength_1_2(signalStrength);
        // Note this is set to "verbose" because it happens frequently
        if (RIL.RILJ_LOGV) mRil.unsljLogvRet(RIL_UNSOL_SIGNAL_STRENGTH, ss);

        if (mRil.mSignalStrengthRegistrant != null) {
            mRil.mSignalStrengthRegistrant.notifyRegistrant(new AsyncResult(null, ss, null));
        }
    }

    /**
    /**
     * Indicates current physical channel configuration.
     * Indicates current physical channel configuration.
     */
     */
+28 −3
Original line number Original line Diff line number Diff line
@@ -260,6 +260,16 @@ public class RadioResponse extends IRadioResponse.Stub {
        responseSignalStrength(responseInfo, sigStrength);
        responseSignalStrength(responseInfo, sigStrength);
    }
    }


    /**
     * @param responseInfo Response info struct containing response type, serial no. and error
     * @param signalStrength Current signal strength of camped/connected cells
     */
    public void getSignalStrengthResponse_1_2(
            RadioResponseInfo responseInfo,
            android.hardware.radio.V1_2.SignalStrength signalStrength) {
        responseSignalStrength_1_2(responseInfo, signalStrength);
    }

    /*
    /*
     * @param responseInfo Response info struct containing response type, serial no. and error
     * @param responseInfo Response info struct containing response type, serial no. and error
     * @param voiceRegResponse Current Voice registration response as defined by VoiceRegStateResult
     * @param voiceRegResponse Current Voice registration response as defined by VoiceRegStateResult
@@ -1641,12 +1651,27 @@ public class RadioResponse extends IRadioResponse.Stub {
        }
        }
    }
    }


    private void responseSignalStrength(RadioResponseInfo responseInfo,
    private void responseSignalStrength(
                                        android.hardware.radio.V1_0.SignalStrength sigStrength) {
            RadioResponseInfo responseInfo,
            android.hardware.radio.V1_0.SignalStrength signalStrength) {
        RILRequest rr = mRil.processResponse(responseInfo);

        if (rr != null) {
            SignalStrength ret = RIL.convertHalSignalStrength(signalStrength);
            if (responseInfo.error == RadioError.NONE) {
                sendMessageResponse(rr.mResult, ret);
            }
            mRil.processResponseDone(rr, responseInfo, ret);
        }
    }

    private void responseSignalStrength_1_2(
            RadioResponseInfo responseInfo,
            android.hardware.radio.V1_2.SignalStrength signalStrength) {
        RILRequest rr = mRil.processResponse(responseInfo);
        RILRequest rr = mRil.processResponse(responseInfo);


        if (rr != null) {
        if (rr != null) {
            SignalStrength ret = RIL.convertHalSignalStrength(sigStrength);
            SignalStrength ret = RIL.convertHalSignalStrength_1_2(signalStrength);
            if (responseInfo.error == RadioError.NONE) {
            if (responseInfo.error == RadioError.NONE) {
                sendMessageResponse(rr.mResult, ret);
                sendMessageResponse(rr.mResult, ret);
            }
            }
+4 −2
Original line number Original line Diff line number Diff line
@@ -1493,8 +1493,10 @@ public class RILTest extends TelephonyTest {
        cellinfo.cellIdentityWcdma.base.mnc = mnc;
        cellinfo.cellIdentityWcdma.base.mnc = mnc;
        cellinfo.cellIdentityWcdma.operatorNames.alphaLong = alphaLong;
        cellinfo.cellIdentityWcdma.operatorNames.alphaLong = alphaLong;
        cellinfo.cellIdentityWcdma.operatorNames.alphaShort = alphaShort;
        cellinfo.cellIdentityWcdma.operatorNames.alphaShort = alphaShort;
        cellinfo.signalStrengthWcdma.signalStrength = SIGNAL_STRENGTH;
        cellinfo.signalStrengthWcdma.base.signalStrength = SIGNAL_STRENGTH;
        cellinfo.signalStrengthWcdma.bitErrorRate = BIT_ERROR_RATE;
        cellinfo.signalStrengthWcdma.base.bitErrorRate = BIT_ERROR_RATE;
        cellinfo.signalStrengthWcdma.rscp = 10;
        cellinfo.signalStrengthWcdma.ecno = 5;
        android.hardware.radio.V1_2.CellInfo record = new android.hardware.radio.V1_2.CellInfo();
        android.hardware.radio.V1_2.CellInfo record = new android.hardware.radio.V1_2.CellInfo();
        record.cellInfoType = TYPE_WCDMA;
        record.cellInfoType = TYPE_WCDMA;
        record.registered = false;
        record.registered = false;