public void onGpsStatusChanged(int event) { if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) { try { // Check number of satellites in list to determine fix state GpsStatus status = myLocationManager.getGpsStatus(null); Iterable<GpsSatellite> satellites = status.getSatellites(); sat_count = 0; Iterator<GpsSatellite> satI = satellites.iterator(); while (satI.hasNext()) { GpsSatellite satellite = satI.next(); Log.d(LogUtils.generateTag(this), "Satellite: snr=" + satellite.getSnr() + ", elevation=" + satellite.getElevation()); sat_count++; } } catch (Exception e) { e.printStackTrace(); sat_count = min_gps_sat_count + 1; } Log.d(LogUtils.generateTag(this), "#### sat_count = " + sat_count); } }
private void b() { this.m = 0; this.l = 0; GpsStatus gpsStatus = b.getGpsStatus(null); if (gpsStatus != null) { int maxSatellites = gpsStatus.getMaxSatellites(); Iterator it = gpsStatus.getSatellites().iterator(); if (it != null) { while (it.hasNext() && this.l <= maxSatellites) { this.l++; if (((GpsSatellite) it.next()).usedInFix()) { this.m++; } } } } }
@Override public void onGpsStatusChanged(int event) { switch (event) { case GpsStatus.GPS_EVENT_STARTED: if (DEBUG) log("onGpsStatusChanged: GPS_EVENT_STARTED"); break; case GpsStatus.GPS_EVENT_STOPPED: if (DEBUG) log("onGpsStatusChanged: GPS_EVENT_STOPPED"); if (mGpsFixed) { mGpsFixed = false; notifyGpsFixChanged(); } break; case GpsStatus.GPS_EVENT_FIRST_FIX: if (DEBUG) log("onGpsStatusChanged: GPS_EVENT_FIRST_FIX"); mGpsFixed = true; notifyGpsFixChanged(); break; } }
@Override public void onGpsStatusChanged(int event) { switch (event) { case GpsStatus.GPS_EVENT_FIRST_FIX: gpsEnabled = true; gpsFix = true; break; case GpsStatus.GPS_EVENT_SATELLITE_STATUS: gpsEnabled = true; gpsFix = System.currentTimeMillis() - timestamp < DURATION_TO_FIX_LOST_MS; break; case GpsStatus.GPS_EVENT_STARTED: gpsEnabled = true; gpsFix = false; break; case GpsStatus.GPS_EVENT_STOPPED: gpsEnabled = false; gpsFix = false; break; default: return; } //Log.d(TAG, "onGpsStatusChanged :: " + event); }
public void onGpsStatusChanged(int event) { // GPS状态变化时的回调,如卫星数 GpsStatus status = locationManager.getGpsStatus(null); //取当前状态 if(event == GpsStatus.GPS_EVENT_SATELLITE_STATUS){ int maxSatellites = status.getMaxSatellites(); Iterator<GpsSatellite> it = status.getSatellites().iterator(); mSatelliteList.clear(); int count = 0; while (it.hasNext() && count <= maxSatellites) { GpsSatellite s = it.next(); // Log.i("gjh","~~~~~~~~~~~~~~~~~~~~~~~~~~~" ); // Log.i("gjh","信号:" + s.getSnr()); // Log.i("gjh","序号:" + s.getPrn()); // Log.i("gjh","卫星仰角:" + s.getElevation()); // Log.i("gjh","卫星方位角 :" + s.getAzimuth()); // Log.i("gjh","^^^^^^^^^^^^^^^^^^^^^^^^^^^^" ); mSatelliteList.add(s); count++; } } mAdapter.notifyDataSetChanged(); Log.i(TAG,mSatelliteList.size()+"" ); }
@Override public void onGpsStatusChanged(int event) { String eventStr = null; switch (event) { case GpsStatus.GPS_EVENT_STARTED: eventStr = "GPS_EVENT_STARTED"; break; case GpsStatus.GPS_EVENT_STOPPED: eventStr = "GPS_EVENT_STOPPED"; break; case GpsStatus.GPS_EVENT_FIRST_FIX: eventStr = "GPS_EVENT_FIRST_FIX"; break; case GpsStatus.GPS_EVENT_SATELLITE_STATUS: eventStr = "GPS_EVENT_SATELLITE_STATUS"; break; } Log.v(TAG, "onGpsStatusChanged("+ eventStr + ")"); showGpsStatusInfo(mLocationManager.getGpsStatus(null)); }
private String updateGpsStatus(int event, GpsStatus status) { StringBuilder sb2 = new StringBuilder(""); if (status == null) { uHandler.sendEmptyMessage(1); sb2.append(getResources().getString(R.string.label_gps_satellitenumber) +0); } else if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) { int maxSatellites = status.getMaxSatellites(); Iterator<GpsSatellite> it = status.getSatellites().iterator(); numSatelliteList.clear(); int count = 0; while (it.hasNext() && count <= maxSatellites) { GpsSatellite s = it.next(); numSatelliteList.add(s); count++; } sb2.append(getResources().getString(R.string.label_gps_satellitenumber) + numSatelliteList.size()); uHandler.sendEmptyMessage(1); } return sb2.toString(); }
public void onGpsStatusChanged(int event) { switch(event) { case GpsStatus.GPS_EVENT_SATELLITE_STATUS: m_locationManager.getGpsStatus(m_status); Iterable<GpsSatellite> iSatellite=m_status.getSatellites(); Iterator<GpsSatellite> iterator=iSatellite.iterator(); ArrayList<QtSatInfo> satInfo=new ArrayList<QtSatInfo>(); int index=0; while(iterator.hasNext()) { GpsSatellite gpsSat=iterator.next(); satInfo.add(new QtSatInfo(gpsSat.getPrn(),gpsSat.getSnr(), gpsSat.getElevation(), gpsSat.getAzimuth())); index++; } if(0!=index) gpsSatelliteDataUpdated(satInfo.toArray()); break; } }
@Override public void onGpsStatusChanged(int event) { gpsStatus = locationManager.getGpsStatus(gpsStatus); switch (event) { case GpsStatus.GPS_EVENT_STARTED: case GpsStatus.GPS_EVENT_FIRST_FIX: case GpsStatus.GPS_EVENT_SATELLITE_STATUS: case GpsStatus.GPS_EVENT_STOPPED: default: } int count_seen = 0; int count_fix = 0; for (GpsSatellite s: gpsStatus.getSatellites()) { count_seen++; if (s.usedInFix()) count_fix++; // Log.d(TAG, "getSnr=" + s.getSnr()); } // Log.d(TAG, "LocusService.onGpsStatusChanged event=" + event // + ", satellites=" + count_fix + "/" + count_seen + "/" + gpsStatus.getMaxSatellites() // + ", timeToFirstFix=" + gpsStatus.getTimeToFirstFix() // ); }
@Override public void onGpsStatusChanged(int event) { switch (event) { case GpsStatus.GPS_EVENT_STARTED: isGPSFix = false; checkGpsStatus(); break; case GpsStatus.GPS_EVENT_FIRST_FIX: isGPSFix = true; checkGpsStatus(); break; case GpsStatus.GPS_EVENT_STOPPED: isGPSFix = false; sendStoppedStatus(); break; case GpsStatus.GPS_EVENT_SATELLITE_STATUS: isGPSFix = false; if ((SystemClock.elapsedRealtime() - mLastLocationMillis) < GPS_UPDATE_EXCEEDED_TIME) isGPSFix = true; checkGpsStatus(); break; } }
private void b() { m = 0; l = 0; GpsStatus gpsstatus = b.getGpsStatus(null); if (gpsstatus != null) { int i1 = gpsstatus.getMaxSatellites(); Iterator iterator = gpsstatus.getSatellites().iterator(); if (iterator != null) { while (iterator.hasNext() && l <= i1) { l = 1 + l; if (((GpsSatellite)iterator.next()).usedInFix()) { m = 1 + m; } } } } }
public GpsStatus getGpsStatus(GpsStatus gpsstatus) { LocationManager locationmanager; GpsStatus gpsstatus1; GpsStatus gpsstatus2; try { locationmanager = a; } catch (Throwable throwable) { throwable.printStackTrace(); return null; } gpsstatus1 = null; if (locationmanager == null) { break MISSING_BLOCK_LABEL_26; } gpsstatus2 = a.getGpsStatus(gpsstatus); gpsstatus1 = gpsstatus2; return gpsstatus1; }
public void onGpsStatusChanged(int event) { boolean isGPSFix = false; switch (event) { case GpsStatus.GPS_EVENT_SATELLITE_STATUS: if (lastLocation != null) { isGPSFix = (SystemClock.elapsedRealtime() - lastLocationMillis) < 10000; } if (isGPSFix) { // A fix has been acquired. setLocationManagerStatus(AVAILABLE); } else { // The fix has been lost. setLocationManagerStatus(TEMPORARILY_UNAVAILABLE); } break; case GpsStatus.GPS_EVENT_FIRST_FIX: setLocationManagerStatus(AVAILABLE); break; } }
public void updateSats() { if ((mlocManager != null) && (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)) { final GpsStatus gs = mlocManager.getGpsStatus(null); int sats_inview = 0; // Satellites in view; int sats_used = 0; // Satellites used in fix; if (gs != null) { Iterable<GpsSatellite> sats = gs.getSatellites(); for (GpsSatellite sat : sats) { sats_inview++; if (sat.usedInFix()) sats_used++; //Log.w("myApp", "[#] GPSApplication.java - updateSats: i=" + i); } _NumberOfSatellites = sats_inview; _NumberOfSatellitesUsedInFix = sats_used; } else { _NumberOfSatellites = NOT_AVAILABLE; _NumberOfSatellitesUsedInFix = NOT_AVAILABLE; } } else { _NumberOfSatellites = NOT_AVAILABLE; _NumberOfSatellitesUsedInFix = NOT_AVAILABLE; } //Log.w("myApp", "[#] GPSApplication.java - updateSats: Total=" + _NumberOfSatellites + " Used=" + _NumberOfSatellitesUsedInFix); }
@Override public void onGpsStatusChanged(int event) { switch (event) { case GpsStatus.GPS_EVENT_STARTED: case GpsStatus.GPS_EVENT_STOPPED: mHasGPSFix = false; break; case GpsStatus.GPS_EVENT_FIRST_FIX: mHasGPSFix = true; break; case GpsStatus.GPS_EVENT_SATELLITE_STATUS: mSatellitesCount = 0; for (GpsSatellite sat : mLocationManager.getGpsStatus(null).getSatellites()) { if (sat.usedInFix()) { mSatellitesCount++; } } break; } }
@Override public void onGpsStatusChanged(int event) { switch(event) { case GpsStatus.GPS_EVENT_STARTED: case GpsStatus.GPS_EVENT_STOPPED: mHasGPSFix = false; break; case GpsStatus.GPS_EVENT_FIRST_FIX: mHasGPSFix = true; break; case GpsStatus.GPS_EVENT_SATELLITE_STATUS: break; } for (GpsEventListener listener : mListeners) { listener.onGpsStatusChanged(event); } }
@Override public void onGpsStatusChanged(int arg0) { // TODO Auto-generated method stub GpsStatus gpsstatus = locationManager.getGpsStatus(null); switch (arg0) { case GpsStatus.GPS_EVENT_STARTED: mSkyView.setStarted(); setStarted(true); break; case GpsStatus.GPS_EVENT_STOPPED: mSkyView.setStopped(); setStarted(false); break; case GpsStatus.GPS_EVENT_SATELLITE_STATUS: mSkyView.setSats(gpsstatus); updateStatus(gpsstatus); break; case GpsStatus.GPS_EVENT_FIRST_FIX: break; } }
private void updateStatus(GpsStatus status) { setStarted(true); Iterator<GpsSatellite> satellites = status.getSatellites().iterator(); if (mPrns == null) { int length = status.getMaxSatellites(); mPrns = new int[length]; mSnrs = new float[length]; mSvElevations = new float[length]; mSvAzimuths = new float[length]; } mSvCount = 0; while (satellites.hasNext()) { GpsSatellite satellite = satellites.next(); int prn = satellite.getPrn(); mPrns[mSvCount] = prn; mSnrs[mSvCount] = satellite.getSnr(); mSvElevations[mSvCount] = satellite.getElevation(); mSvAzimuths[mSvCount] = satellite.getAzimuth(); mSvCount++; } mAdapter.notifyDataSetChanged(); }
public void setSats(GpsStatus status) { Iterator<GpsSatellite> satellites = status.getSatellites().iterator(); if (mSnrs == null) { int length = status.getMaxSatellites(); mSnrs = new float[length]; mElevs = new float[length]; mAzims = new float[length]; } mSvCount = 0; while (satellites.hasNext()) { GpsSatellite satellite = satellites.next(); mSnrs[mSvCount] = satellite.getSnr(); mElevs[mSvCount] = satellite.getElevation(); mAzims[mSvCount] = satellite.getAzimuth(); mSvCount++; } mStarted = true; invalidate(); }
public static String formatGpsGsa(GpsStatus gps) { String fix = "1"; String prn = ""; int nbr_sat = 0; Iterator<GpsSatellite> satellites = gps.getSatellites().iterator(); for (int i = 0; i < 12; i++) { if (satellites.hasNext()) { GpsSatellite sat = satellites.next(); if (sat.usedInFix()) { prn = prn + sat.getPrn(); nbr_sat++; } } prn = prn + ","; } if (nbr_sat > 3) fix = "3"; else if (nbr_sat > 0) fix = "2"; //TODO: calculate DOP values return fix + "," + prn + ",,,"; }
@Override public void onGpsStatusChanged(int event) { switch (event) { case android.location.GpsStatus.GPS_EVENT_STARTED: break; case android.location.GpsStatus.GPS_EVENT_SATELLITE_STATUS: satellites.clear(); gpsStatus = locationManager.getGpsStatus(gpsStatus); for (GpsSatellite sat : gpsStatus.getSatellites()) { if (sat.usedInFix()) { satellites.add(sat); } } break; case android.location.GpsStatus.GPS_EVENT_FIRST_FIX: break; case android.location.GpsStatus.GPS_EVENT_STOPPED: break; } }
/** * Checks if there fix is still there based on the last picked location. * * @param hasFix fix state previous to the check. * @param lastLocationUpdateMillis the millis of the last picked location. * @param event the Gps status event triggered. * @return <code>true</code>, if it has fix. */ public static boolean checkFix( boolean hasFix, long lastLocationUpdateMillis, int event ) { switch( event ) { case GpsStatus.GPS_EVENT_SATELLITE_STATUS: long diff = SystemClock.elapsedRealtime() - lastLocationUpdateMillis; if (GPLog.LOG_ABSURD) GPLog.addLogEntry("GPSSTATUSINFO", "gps event diff: " + diff); if (diff < FIX_TIME_INTERVAL_CHECK) { if (!hasFix) { hasFix = true; } } else { if (hasFix) { hasFix = false; } } break; } return hasFix; }
public void onGpsStatusChanged( int event, GpsStatus status ) { boolean tmpGotFix = GpsStatusInfo.checkFix(gotFix, lastLocationupdateMillis, event); if (tmpGotFix != gotFix) { gotFix = tmpGotFix; if (LOG_HOW) if (gotFix) { GPLog.addLogEntry(this, "Aquired fix."); } else { GPLog.addLogEntry(this, "Lost fix."); } if (!gotFix) { // check if it is just standing still GpsStatusInfo info = new GpsStatusInfo(status); int satForFixCount = info.getSatUsedInFixCount(); if (satForFixCount > 2) { gotFix = true; // updating loc update, assuming the still filter is giving troubles lastLocationupdateMillis = SystemClock.elapsedRealtime(); if (LOG_HOW) GPLog.addLogEntry(this, "Fix kept due to fix satellites."); } } checkLogging(); } lastGpsStatus = status; }
@Override public void onGpsStatusChanged(int event) { GpsStatus status = mLocationManager.getGpsStatus(null); int satsUsed = 0; Iterable<GpsSatellite> sats = status.getSatellites(); for (GpsSatellite sat : sats) { if (sat.usedInFix()) { satsUsed++; } } if (satsUsed == 0) { if (mStatus != GPS_INACTIVE) mStatus = GPS_SEARCH; showStatusNoLocation(); } }
/** * Called when the status of the GPS changes. Updates GPS display. */ public void onGpsStatusChanged (int event) { GpsStatus status = locationManager.getGpsStatus(null); int satsInView = 0; int satsUsed = 0; Iterable<GpsSatellite> sats = status.getSatellites(); for (GpsSatellite sat : sats) { satsInView++; if (sat.usedInFix()) { satsUsed++; } } if (gpsSectionFragment != null) { gpsSectionFragment.onGpsStatusChanged(status, satsInView, satsUsed, sats); } if (mapSectionFragment != null) { mapSectionFragment.onGpsStatusChanged(status, satsInView, satsUsed, sats); } }
private void updateGPSInfo(GpsStatus s) { boolean fixed = false; int n = 0; int u = 0; if (s != null) { Iterator<GpsSatellite> iterator = s.getSatellites().iterator(); while (iterator.hasNext()) { GpsSatellite g = iterator.next(); n++; if (g.usedInFix()) { u++; fixed = true; } } } gpsInfo.fixed = fixed; gpsInfo.foundSatellites = n; gpsInfo.usedSatellites = u; Log.d(TAG, "updateGPSInfo : " + gpsInfo); }
private void updateSatellites(Location location) { if (location.getExtras() != null && location.getExtras().containsKey(AppConstants.SATELLITES)) { return; } try { GpsStatus localGpsStatus = locationManager.getGpsStatus(null); int satellites = 0; Iterator<GpsSatellite> iterator = localGpsStatus.getSatellites().iterator(); for (; iterator.hasNext(); ) { if (iterator.next().usedInFix()) { satellites++; } } if (satellites > 0) { location.getExtras().putInt(AppConstants.SATELLITES, satellites); } } catch (Exception e) { Log.w(getPackageName(), e); } }
public void onGpsStatusChanged(int event) { switch (event) { case GpsStatus.GPS_EVENT_SATELLITE_STATUS: if (mLocationListener.getLastGpsLocation() != null) { if ((System.currentTimeMillis() - mLocationListener.getLastGpsLocation().getTime()) < MAX_TIME_GPS_FIX) { if (!mGpsFix) mGpsFix = true; } else { if (mGpsFix) { enable(); } mGpsFix = false; } } break; case GpsStatus.GPS_EVENT_FIRST_FIX: mGpsFix = true; break; case GpsStatus.GPS_EVENT_STARTED: break; case GpsStatus.GPS_EVENT_STOPPED: mGpsFix = false; break; } }
public synchronized void onGpsStatusChanged(int event) { if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) { if (mLastGPSMillis != 0) { isGPSFix = (SystemClock.elapsedRealtime() - mLastGPSMillis) < getMinTime() * 2; } } else if (event == GpsStatus.GPS_EVENT_FIRST_FIX) { isGPSFix = true; } ProviderType previousType = currentProvider; currentProvider = isGPSFix ? ProviderType.GPS : ProviderType.BOTH; if(previousType != currentProvider) { switchProvider(); } }
public void onGpsStatusChanged(int event) { if (event == GpsStatus.GPS_EVENT_FIRST_FIX) { gpsFix = true; Location gps = locationManager .getLastKnownLocation(LocationManager.GPS_PROVIDER); gpsStartPoint = new GeoPoint(gps.getLatitude(), gps.getLongitude()); if (tracking) { Toast results = Toast.makeText(MapActivity.this, "Gpx Fix Available, Tracking Started", Toast.LENGTH_SHORT); // center the Toast in the screen results.setGravity(Gravity.CENTER, results.getXOffset() / 2, results.getYOffset() / 2); results.show(); // display the results } } // end if }
/** * Converts GpsStatus into JSON. * @param gpsStatus Send a GpsStatus whenever the GPS fires * @return JSON representation of the satellite data */ public static String satelliteDataJSON(GpsStatus gpsStatus){ final Calendar calendar = Calendar.getInstance(); final JSONObject json = new JSONObject(); try { json.put("provider", SATELLITE_PROVIDER); json.put("timestamp", calendar.getTimeInMillis()); if(gpsStatus.getSatellites() != null) { int count = 0; final int timeToFirstFix = gpsStatus.getTimeToFirstFix(); for(GpsSatellite sat: gpsStatus.getSatellites() ){ final JSONObject satelliteInfo = new JSONObject(); satelliteInfo.put("PRN", sat.getPrn()); satelliteInfo.put("timeToFirstFix", timeToFirstFix); satelliteInfo.put("usedInFix", sat.usedInFix()); satelliteInfo.put("azimuth", sat.getAzimuth()); satelliteInfo.put("elevation", sat.getElevation()); satelliteInfo.put("hasEphemeris", sat.hasEphemeris()); satelliteInfo.put("hasAlmanac", sat.hasAlmanac()); satelliteInfo.put("SNR", sat.getSnr()); json.put(Integer.toString(count), satelliteInfo); count++; } } } catch (JSONException exc){ logJSONException(exc); } return json.toString(); }
public static SubjectFactory<GpsStatusSubject, GpsStatus> type() { return new SubjectFactory<GpsStatusSubject, GpsStatus>() { @Override public GpsStatusSubject getSubject(FailureStrategy fs, GpsStatus that) { return new GpsStatusSubject(fs, that); } }; }
private void getLocation() { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(mContext, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 1); return; } locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 0, this); locationManager.addGpsStatusListener(new GpsStatus.Listener() { @Override public void onGpsStatusChanged(int event) { switch (event) { case GpsStatus.GPS_EVENT_STARTED: System.out.println("GPS_EVENT_STARTED"); mGpsCount.setText("0"); break; case GpsStatus.GPS_EVENT_FIRST_FIX: System.out.println("GPS_EVENT_FIRST_FIX"); break; case GpsStatus.GPS_EVENT_SATELLITE_STATUS: System.out.println("GPS_EVENT_SATELLITE_STATUS"); if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { return; } GpsStatus gpsStatus = locationManager.getGpsStatus(null); Iterable<GpsSatellite> gpsSatellites = gpsStatus.getSatellites(); int count = 0; Iterator iterator = gpsSatellites.iterator(); while (iterator.hasNext()) { count++; iterator.next(); } mGpsCount.setText(count + ""); break; case GpsStatus.GPS_EVENT_STOPPED: System.out.println("GPS_EVENT_STOPPED"); //gpsState.setText("已停止定位"); break; } } }); }
@Override public void onGpsStatusChanged(int arg0) { switch (arg0) { case GpsStatus.GPS_EVENT_SATELLITE_STATUS: GpsStatus gpsStatus = mLocationManager.getGpsStatus(null); int usedinfix = 0; if (gpsStatus != null) { Iterator<GpsSatellite> satellites = gpsStatus .getSatellites().iterator(); if (satellites != null) { while (satellites.hasNext()) { GpsSatellite satellite = satellites.next(); if (satellite.usedInFix()) { usedinfix++; } } } } mUsedInFix = usedinfix; if (mUsedInFix < 3) { updateGpsSpeed(-1); } break; case GpsStatus.GPS_EVENT_STARTED: break; case GpsStatus.GPS_EVENT_STOPPED: break; } }
@Override public void onGpsStatusChanged(final int event) { int satCount = -1; switch (event) { case GpsStatus.GPS_EVENT_FIRST_FIX: satCount = 0; break; case GpsStatus.GPS_EVENT_STARTED: satCount = -1; break; case GpsStatus.GPS_EVENT_STOPPED: satCount = -1; break; case GpsStatus.GPS_EVENT_SATELLITE_STATUS: // first of all we check if the time from the last used fix to the current fix is greater than the logging interval if ((event != GpsStatus.GPS_EVENT_SATELLITE_STATUS) || (mLastGPSTimestamp + gpsLoggingInterval) < System.currentTimeMillis()) { mLastGPSTimestamp = System.currentTimeMillis(); // save the time of this fix final GpsStatus status = lmgr.getGpsStatus(null); // Count active satellites satCount = 0; for (@SuppressWarnings("unused") final GpsSatellite sat:status.getSatellites()) { satCount++; } } break; default: break; } if (mListener != null) { mListener.onSatInfo(satCount); } }