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

Commit 41a46718 authored by John Wang's avatar John Wang
Browse files

Make getCellLocation return null if not available.

For bug 2422284.

Check the cell location and return null if the location is not available.

Change-Id: Ie9a331b906a8253c9a9596365af8705dc03823ce
parent 3eda9799
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -78,6 +78,11 @@ public abstract class CellLocation {
     */
    public abstract void fillInNotifierBundle(Bundle bundle);

    /**
     * @hide
     */
    public abstract boolean isEmpty();

    /**
     * Return a new CellLocation object representing an unknown
     * location, or null for unknown/none phone radio types.
+4 −1
Original line number Diff line number Diff line
@@ -203,7 +203,10 @@ public class TelephonyManager {
    public CellLocation getCellLocation() {
        try {
            Bundle bundle = getITelephony().getCellLocation();
            return CellLocation.newFromBundle(bundle);
            CellLocation cl = CellLocation.newFromBundle(bundle);
            if (cl.isEmpty())
                return null;
            return cl;
        } catch (RemoteException ex) {
            return null;
        } catch (NullPointerException ex) {
+12 −0
Original line number Diff line number Diff line
@@ -204,6 +204,18 @@ public class CdmaCellLocation extends CellLocation {
        bundleToFill.putInt("networkId", this.mNetworkId);
    }

    /**
     * @hide
     */
    public boolean isEmpty() {
        return (this.mBaseStationId == -1 &&
                this.mBaseStationLatitude == INVALID_LAT_LONG &&
                this.mBaseStationLongitude == INVALID_LAT_LONG &&
                this.mSystemId == -1 &&
                this.mNetworkId == -1);
    }


}

+7 −0
Original line number Diff line number Diff line
@@ -119,4 +119,11 @@ public class GsmCellLocation extends CellLocation {
        m.putInt("lac", mLac);
        m.putInt("cid", mCid);
    }

    /**
     * @hide
     */
    public boolean isEmpty() {
        return (mLac == -1 && mCid == -1);
    }
}