Example usage for android.location LocationManager PASSIVE_PROVIDER

List of usage examples for android.location LocationManager PASSIVE_PROVIDER

Introduction

In this page you can find the example usage for android.location LocationManager PASSIVE_PROVIDER.

Prototype

String PASSIVE_PROVIDER

To view the source code for android.location LocationManager PASSIVE_PROVIDER.

Click Source Link

Document

A special location provider for receiving locations without actually initiating a location fix.

Usage

From source file:li.barter.fragments.BooksAroundMeFragment.java

/**
 * Reads the latest fetched locations from shared preferences
 *//*from   w w w .  ja v  a 2  s.  c om*/
private void readLastFetchedInfoFromPref() {

    // Don't read from pref if already has fetched
    if (mLastFetchedLocation == null) {
        mLastFetchedLocation = new Location(LocationManager.PASSIVE_PROVIDER);
        Logger.d(TAG, mLastFetchedLocation.getLatitude() + "");
        if (mLastFetchedLocation == null) {
            mLastFetchedLocation = new Location(LocationManager.NETWORK_PROVIDER);
            Logger.d(TAG, mLastFetchedLocation.getLatitude() + "");
        }
        mLastFetchedLocation.setLatitude(SharedPreferenceHelper.getDouble(R.string.pref_last_fetched_latitude));
        mLastFetchedLocation
                .setLongitude(SharedPreferenceHelper.getDouble(R.string.pref_last_fetched_longitude));
    }

}

From source file:org.noise_planet.noisecapture.MeasurementService.java

public void addLocation(Location location) {
    // Check if the previous location is inside the precision range of the new location
    // Keep the new location only if the new location is 60% chance away from previous location
    // and if the new location precision is at least with better accuracy and at most worst
    // than two times of old location
    // see https://developer.android.com/guide/topics/location/strategies.html
    Location previousLocation = timeLocation.isEmpty() ? null : timeLocation.lastEntry().getValue();
    if (previousLocation == null || (location.getProvider().equals(LocationManager.GPS_PROVIDER)
            || previousLocation.getProvider().equals(LocationManager.NETWORK_PROVIDER)
            || previousLocation.getProvider().equals(LocationManager.PASSIVE_PROVIDER))) {
        timeLocation.put(System.currentTimeMillis(), location);
        if (timeLocation.size() > MAXIMUM_LOCATION_HISTORY) {
            // Clean old entry
            timeLocation.remove(timeLocation.firstKey());
        }//from w  ww .ja v a 2  s .com
    }
}

From source file:li.barter.fragments.AbstractBarterLiFragment.java

public boolean isLocationServiceEnabled() {
    LocationManager lm = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);
    Criteria criteria = new Criteria();

    String provider = lm.getBestProvider(criteria, true);
    return ((provider != null) && !LocationManager.PASSIVE_PROVIDER.equals(provider));
}

From source file:com.landenlabs.all_devtool.SystemFragment.java

public void updateList() {
    // Time today = new Time(Time.getCurrentTimezone());
    // today.setToNow();
    // today.format(" %H:%M:%S")
    Date dt = new Date();
    m_titleTime.setText(m_timeFormat.format(dt));

    boolean expandAll = m_list.isEmpty();
    m_list.clear();/*from   w w w  .  jav a  2 s  . c o m*/

    // Swap colors
    int color = m_rowColor1;
    m_rowColor1 = m_rowColor2;
    m_rowColor2 = color;

    ActivityManager actMgr = (ActivityManager) getActivity().getSystemService(Context.ACTIVITY_SERVICE);

    try {
        String androidIDStr = Settings.Secure.getString(getContext().getContentResolver(),
                Settings.Secure.ANDROID_ID);
        addBuild("Android ID", androidIDStr);

        try {
            AdvertisingIdClient.Info adInfo = AdvertisingIdClient.getAdvertisingIdInfo(getContext());
            final String adIdStr = adInfo.getId();
            final boolean isLAT = adInfo.isLimitAdTrackingEnabled();
            addBuild("Ad ID", adIdStr);
        } catch (IOException e) {
            // Unrecoverable error connecting to Google Play services (e.g.,
            // the old version of the service doesn't support getting AdvertisingId).
        } catch (GooglePlayServicesNotAvailableException e) {
            // Google Play services is not available entirely.
        }

        /*
        try {
        InstanceID instanceID = InstanceID.getInstance(getContext());
        if (instanceID != null) {
            // Requires a Google Developer project ID.
            String authorizedEntity = "<need to make this on google developer site>";
            instanceID.getToken(authorizedEntity, GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
            addBuild("Instance ID", instanceID.getId());
        }
        } catch (Exception ex) {
        }
        */

        ConfigurationInfo info = actMgr.getDeviceConfigurationInfo();
        addBuild("OpenGL", info.getGlEsVersion());
    } catch (Exception ex) {
        m_log.e(ex.getMessage());
    }

    try {
        long heapSize = Debug.getNativeHeapSize();
        // long maxHeap = Runtime.getRuntime().maxMemory();

        // ConfigurationInfo cfgInfo = actMgr.getDeviceConfigurationInfo();
        int largHeapMb = actMgr.getLargeMemoryClass();
        int heapMb = actMgr.getMemoryClass();

        MemoryInfo memInfo = new MemoryInfo();
        actMgr.getMemoryInfo(memInfo);

        final String sFmtMB = "%.2f MB";
        Map<String, String> listStr = new TreeMap<String, String>();
        listStr.put("Mem Available (now)", String.format(sFmtMB, (double) memInfo.availMem / MB));
        listStr.put("Mem LowWhenOnlyAvail", String.format(sFmtMB, (double) memInfo.threshold / MB));
        if (Build.VERSION.SDK_INT >= 16) {
            listStr.put("Mem Installed", String.format(sFmtMB, (double) memInfo.totalMem / MB));
        }
        listStr.put("Heap (this app)", String.format(sFmtMB, (double) heapSize / MB));
        listStr.put("HeapMax (default)", String.format(sFmtMB, (double) heapMb));
        listStr.put("HeapMax (large)", String.format(sFmtMB, (double) largHeapMb));
        addBuild("Memory...", listStr);
    } catch (Exception ex) {
        m_log.e(ex.getMessage());
    }

    try {
        List<ProcessErrorStateInfo> procErrList = actMgr.getProcessesInErrorState();
        int errCnt = (procErrList == null ? 0 : procErrList.size());
        procErrList = null;

        // List<RunningAppProcessInfo> procList = actMgr.getRunningAppProcesses();
        int procCnt = actMgr.getRunningAppProcesses().size();
        int srvCnt = actMgr.getRunningServices(100).size();

        Map<String, String> listStr = new TreeMap<String, String>();
        listStr.put("#Processes", String.valueOf(procCnt));
        listStr.put("#Proc With Err", String.valueOf(errCnt));
        listStr.put("#Services", String.valueOf(srvCnt));
        // Requires special permission
        //   int taskCnt = actMgr.getRunningTasks(100).size();
        //   listStr.put("#Tasks",  String.valueOf(taskCnt));
        addBuild("Processes...", listStr);
    } catch (Exception ex) {
        m_log.e("System-Processes %s", ex.getMessage());
    }

    try {
        Map<String, String> listStr = new LinkedHashMap<String, String>();
        listStr.put("LargeIconDensity", String.valueOf(actMgr.getLauncherLargeIconDensity()));
        listStr.put("LargeIconSize", String.valueOf(actMgr.getLauncherLargeIconSize()));
        putIf(listStr, "isRunningInTestHarness", "Yes", ActivityManager.isRunningInTestHarness());
        putIf(listStr, "isUserAMonkey", "Yes", ActivityManager.isUserAMonkey());
        addBuild("Misc...", listStr);
    } catch (Exception ex) {
        m_log.e("System-Misc %s", ex.getMessage());
    }

    // --------------- Locale / Timezone -------------
    try {
        Locale ourLocale = Locale.getDefault();
        Date m_date = new Date();
        TimeZone tz = TimeZone.getDefault();

        Map<String, String> localeListStr = new LinkedHashMap<String, String>();

        localeListStr.put("Locale Name", ourLocale.getDisplayName());
        localeListStr.put(" Variant", ourLocale.getVariant());
        localeListStr.put(" Country", ourLocale.getCountry());
        localeListStr.put(" Country ISO", ourLocale.getISO3Country());
        localeListStr.put(" Language", ourLocale.getLanguage());
        localeListStr.put(" Language ISO", ourLocale.getISO3Language());
        localeListStr.put(" Language Dsp", ourLocale.getDisplayLanguage());

        localeListStr.put("TimeZoneID", tz.getID());
        localeListStr.put(" DayLightSavings", tz.useDaylightTime() ? "Yes" : "No");
        localeListStr.put(" In DLS", tz.inDaylightTime(m_date) ? "Yes" : "No");
        localeListStr.put(" Short Name", tz.getDisplayName(false, TimeZone.SHORT, ourLocale));
        localeListStr.put(" Long Name", tz.getDisplayName(false, TimeZone.LONG, ourLocale));

        addBuild("Locale TZ...", localeListStr);
    } catch (Exception ex) {
        m_log.e("Locale/TZ %s", ex.getMessage());
    }

    // --------------- Location Services -------------
    try {
        Map<String, String> listStr = new LinkedHashMap<String, String>();

        final LocationManager locMgr = (LocationManager) getActivity()
                .getSystemService(Context.LOCATION_SERVICE);

        GpsStatus gpsStatus = locMgr.getGpsStatus(null);
        if (gpsStatus != null) {
            listStr.put("Sec ToGetGPS", String.valueOf(gpsStatus.getTimeToFirstFix()));

            Iterable<GpsSatellite> satellites = gpsStatus.getSatellites();
            Iterator<GpsSatellite> sat = satellites.iterator();
            while (sat.hasNext()) {
                GpsSatellite satellite = sat.next();

                putIf(listStr,
                        String.format("Azm:%.0f, Elev:%.0f", satellite.getAzimuth(), satellite.getElevation()),
                        String.format("%.2f Snr", satellite.getSnr()), satellite.usedInFix());
            }
        }

        Location location = null;
        if (ActivityCompat.checkSelfPermission(getContext(),
                Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED
                || ActivityCompat.checkSelfPermission(getContext(),
                        Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {

            location = locMgr.getLastKnownLocation(LocationManager.GPS_PROVIDER);
            if (null == location)
                location = locMgr.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
            if (null == location)
                location = locMgr.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
        }

        if (null != location) {
            listStr.put(location.getProvider() + " lat,lng",
                    String.format("%.3f, %.3f", location.getLatitude(), location.getLongitude()));
        }
        if (listStr.size() != 0) {
            List<String> gpsProviders = locMgr.getAllProviders();
            int idx = 1;
            for (String providerName : gpsProviders) {
                LocationProvider provider = locMgr.getProvider(providerName);
                if (null != provider) {
                    listStr.put(providerName,
                            (locMgr.isProviderEnabled(providerName) ? "On " : "Off ")
                                    + String.format("Accuracy:%d Pwr:%d", provider.getAccuracy(),
                                            provider.getPowerRequirement()));
                }
            }
            addBuild("GPS...", listStr);
        } else
            addBuild("GPS", "Off");
    } catch (Exception ex) {
        m_log.e(ex.getMessage());
    }

    // --------------- Application Info -------------
    ApplicationInfo appInfo = getActivity().getApplicationInfo();
    if (null != appInfo) {
        Map<String, String> appList = new LinkedHashMap<String, String>();
        try {
            appList.put("ProcName", appInfo.processName);
            appList.put("PkgName", appInfo.packageName);
            appList.put("DataDir", appInfo.dataDir);
            appList.put("SrcDir", appInfo.sourceDir);
            //    appList.put("PkgResDir", getActivity().getPackageResourcePath());
            //     appList.put("PkgCodeDir", getActivity().getPackageCodePath());
            String[] dbList = getActivity().databaseList();
            if (dbList != null && dbList.length != 0)
                appList.put("DataBase", dbList[0]);
            // getActivity().getComponentName().

        } catch (Exception ex) {
        }
        addBuild("AppInfo...", appList);
    }

    // --------------- Account Services -------------
    final AccountManager accMgr = (AccountManager) getActivity().getSystemService(Context.ACCOUNT_SERVICE);
    if (null != accMgr) {
        Map<String, String> strList = new LinkedHashMap<String, String>();
        try {
            for (Account account : accMgr.getAccounts()) {
                strList.put(account.name, account.type);
            }
        } catch (Exception ex) {
            m_log.e(ex.getMessage());
        }
        addBuild("Accounts...", strList);
    }

    // --------------- Package Features -------------
    PackageManager pm = getActivity().getPackageManager();
    FeatureInfo[] features = pm.getSystemAvailableFeatures();
    if (features != null) {
        Map<String, String> strList = new LinkedHashMap<String, String>();
        for (FeatureInfo featureInfo : features) {
            strList.put(featureInfo.name, "");
        }
        addBuild("Features...", strList);
    }

    // --------------- Sensor Services -------------
    final SensorManager senMgr = (SensorManager) getActivity().getSystemService(Context.SENSOR_SERVICE);
    if (null != senMgr) {
        Map<String, String> strList = new LinkedHashMap<String, String>();
        // Sensor accelerometer = senMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
        // senMgr.registerListener(foo, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
        List<Sensor> listSensor = senMgr.getSensorList(Sensor.TYPE_ALL);
        try {
            for (Sensor sensor : listSensor) {
                strList.put(sensor.getName(), sensor.getVendor());
            }
        } catch (Exception ex) {
            m_log.e(ex.getMessage());
        }
        addBuild("Sensors...", strList);
    }

    try {
        if (Build.VERSION.SDK_INT >= 17) {
            final UserManager userMgr = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
            if (null != userMgr) {
                try {
                    addBuild("UserName", userMgr.getUserName());
                } catch (Exception ex) {
                    m_log.e(ex.getMessage());
                }
            }
        }
    } catch (Exception ex) {
    }

    try {
        Map<String, String> strList = new LinkedHashMap<String, String>();
        int screenTimeout = Settings.System.getInt(getActivity().getContentResolver(),
                Settings.System.SCREEN_OFF_TIMEOUT);
        strList.put("ScreenTimeOut", String.valueOf(screenTimeout / 1000));
        int rotate = Settings.System.getInt(getActivity().getContentResolver(),
                Settings.System.ACCELEROMETER_ROTATION);
        strList.put("RotateEnabled", String.valueOf(rotate));
        if (Build.VERSION.SDK_INT >= 17) {
            // Global added in API 17
            int adb = Settings.Global.getInt(getActivity().getContentResolver(), Settings.Global.ADB_ENABLED);
            strList.put("AdbEnabled", String.valueOf(adb));
        }
        addBuild("Settings...", strList);
    } catch (Exception ex) {
    }

    if (expandAll) {
        // updateList();
        int count = m_list.size();
        for (int position = 0; position < count; position++)
            m_listView.expandGroup(position);
    }

    m_adapter.notifyDataSetChanged();
}

From source file:com.geotrackin.gpslogger.GpsLoggingService.java

private void StartPassiveManager() {
    if (AppSettings.getChosenListeners().contains("passive")) {
        tracer.debug("Starting passive location listener");
        if (passiveLocationListener == null) {
            passiveLocationListener = new GeneralLocationListener(this, "PASSIVE");
        }// w  ww.  j av a 2  s.co m
        passiveLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        passiveLocationManager.requestLocationUpdates(LocationManager.PASSIVE_PROVIDER, 1000, 0,
                passiveLocationListener);
    }
}

From source file:com.waz.zclient.pages.main.conversation.LocationFragment.java

@SuppressWarnings("ResourceType")
@SuppressLint("MissingPermission")
private void updateLastKnownLocation() {
    if (locationManager != null) {
        currentLocation = locationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
    } else if (googleApiClient != null && locationRequest != null) {
        currentLocation = LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
    }// ww w  .  java  2s  .  c  o  m
    if (currentLocation != null) {
        onLocationChanged(currentLocation);
    }
}

From source file:com.mendhak.gpslogger.GpsLoggingService.java

@SuppressWarnings("ResourceType")
private void startPassiveManager() {
    if (preferenceHelper.getChosenListeners().contains(LocationManager.PASSIVE_PROVIDER)) {
        LOG.debug("Starting passive location listener");
        if (passiveLocationListener == null) {
            passiveLocationListener = new GeneralLocationListener(this, "PASSIVE");
        }// www . j  a v  a2  s  .c  o  m
        passiveLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        passiveLocationManager.requestLocationUpdates(LocationManager.PASSIVE_PROVIDER, 1000, 0,
                passiveLocationListener);
    }
}

From source file:com.crearo.gpslogger.GpsLoggingService.java

private void startPassiveManager() {
    if (preferenceHelper.getChosenListeners().contains(LocationManager.PASSIVE_PROVIDER)) {
        LOG.debug("Starting passive location listener");
        if (passiveLocationListener == null) {
            passiveLocationListener = new GeneralLocationListener(this, "PASSIVE");
        }/*from   w ww.  ja v  a  2  s .  c  om*/
        passiveLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        passiveLocationManager.requestLocationUpdates(LocationManager.PASSIVE_PROVIDER, 1000, 0,
                passiveLocationListener);
    }
}

From source file:com.landenlabs.all_devtool.GpsFragment.java

@Override
public void onLocationChanged(Location location) {

    boolean isDupLoc = false;

    try {//from   www .  jav a  2 s. com
        Location gpsLoc = m_locMgr.getLastKnownLocation(LocationManager.GPS_PROVIDER);
        if (gpsLoc != null) {
            showGPS(gpsLoc);
            isDupLoc = isDupLoc || (location.distanceTo(gpsLoc) == 0);
        }
    } catch (Exception ex) {
        Toast.makeText(this.getActivity(), "GPS " + ex.getMessage(), Toast.LENGTH_LONG).show();
    }

    try {
        if (ActivityCompat.checkSelfPermission(getContext(),
                Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED
                && ActivityCompat.checkSelfPermission(getContext(),
                        Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {

            Location netLoc = m_locMgr.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
            if (netLoc != null) {
                showGPS(netLoc);
                isDupLoc = isDupLoc || (location.distanceTo(netLoc) == 0);
            }
        }
    } catch (Exception ex) {
        Toast.makeText(this.getActivity(), "GPS needs location permission\n" + ex.getMessage(),
                Toast.LENGTH_LONG).show();
    }

    try {
        Location passiveLoc = m_locMgr.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
        if (null != passiveLoc) {
            showGPS(passiveLoc);
            isDupLoc = isDupLoc || (location.distanceTo(passiveLoc) == 0);
        }
    } catch (Exception ex) {
        Toast.makeText(this.getActivity(), "Passive " + ex.getMessage(), Toast.LENGTH_LONG).show();
    }

    if (!isDupLoc)
        showGPS(location);
}

From source file:com.landenlabs.all_devtool.GpsFragment.java

private void showProviders() {
    GpsInfo gpsInfo = m_list.get(s_providersRow);
    ItemList itemList = gpsInfo.getList();
    itemList.clear();//  ww w  . j av  a  2 s.  com

    List<String> gpsProviders = m_locMgr.getAllProviders();
    int idx = 1;
    for (String providerName : gpsProviders) {
        if (ActivityCompat.checkSelfPermission(getContext(),
                Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED
                || ActivityCompat.checkSelfPermission(getContext(),
                        Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
            try {
                LocationProvider provider = m_locMgr.getProvider(providerName);
                if (null != provider) {
                    int color = getProviderColor(providerName);
                    String msg = String.format("%-10s %3s Accuracy:%d Pwr:%d", providerName,
                            (m_locMgr.isProviderEnabled(providerName) ? "On" : "Off"), provider.getAccuracy(),
                            provider.getPowerRequirement());
                    itemList.add(new GpsItem(s_noTime, msg, color));
                }
            } catch (SecurityException ex) {
                m_log.e(ex.getLocalizedMessage());
                m_gpsTv.setEnabled(false);
                addMsgToDetailRow(s_colorMsg, "GPS not available");
                addMsgToDetailRow(s_colorMsg, ex.getLocalizedMessage());
            }
        }
    }
    listChanged();

    if (m_locMgr.isProviderEnabled(LocationManager.GPS_PROVIDER))
        m_statusIcon.setImageResource(R.drawable.gps_satellite);
    else if (m_locMgr.isProviderEnabled(LocationManager.NETWORK_PROVIDER))
        m_statusIcon.setImageResource(R.drawable.gps_tower);
    else if (m_locMgr.isProviderEnabled(LocationManager.PASSIVE_PROVIDER))
        m_statusIcon.setImageResource(R.drawable.gps_passive);
    else
        m_statusIcon.setImageResource(R.drawable.gps_off);
}