@Override protected synchronized void onClose() { for (AbstractBackendHelper helper : helpers) { helper.onClose(); } opened = false; }
@Override protected synchronized void onOpen() { for (AbstractBackendHelper helper : helpers) { helper.onOpen(); } opened = true; }
@Override protected synchronized Location update() { for (AbstractBackendHelper helper : helpers) { helper.onUpdate(); } return null; }
@Override protected Intent getInitIntent() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // Consider permissions List<String> perms = new LinkedList<String>(); for (AbstractBackendHelper helper : helpers) { perms.addAll(Arrays.asList(helper.getRequiredPermissions())); } for (Iterator<String> iterator = perms.iterator(); iterator.hasNext(); ) { String perm = iterator.next(); if (checkSelfPermission(perm) == PackageManager.PERMISSION_GRANTED) { iterator.remove(); } } if (perms.isEmpty()) return null; Intent intent = new Intent(this, MPermissionHelperActivity.class); intent.putExtra(MPermissionHelperActivity.EXTRA_PERMISSIONS, perms.toArray(new String[perms.size()])); return intent; } return super.getInitIntent(); } }
public synchronized void addHelper(AbstractBackendHelper helper) { helpers.add(helper); if (opened) { helper.onOpen(); } }
/** * Call this in {@link LocationBackendService#onClose()}. */ public synchronized void onClose() { super.onClose(); context.unregisterReceiver(wifiBroadcastReceiver); }
/** * Call this in {@link LocationBackendService#onOpen()}. */ public synchronized void onOpen() { super.onOpen(); context.registerReceiver(wifiBroadcastReceiver, wifiBroadcastFilter); }
public synchronized void removeHelpers() { if (opened) { for (AbstractBackendHelper helper : helpers) { helper.onClose(); } } helpers.clear(); }
/** * Call this in {@link org.microg.nlp.api.LocationBackendService#onClose()}. */ @Override public synchronized void onClose() { super.onClose(); if (phoneStateListener != null) telephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_NONE); }