@Override protected synchronized void onClose() { super.onClose(); running = false; if (instance == this) { instance = null; Log.d(TAG, "Deactivating instance at process " + Process.myPid()); } }
@Override protected synchronized Location update() { return super.update(); }
@Override public synchronized void onCreate() { super.onCreate(); reloadSettings(); reloadInstanceSettings(); }
@Override protected synchronized void onOpen() { super.onOpen(); reloadSettings(); instance = this; running = true; Log.d(TAG, "Activating instance at process " + Process.myPid()); }
@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(); } }
@Override public void onCreate() { super.onCreate(); addHelper(backendHelper = new WiFiBackendHelper(this, this)); }
@Override protected synchronized void onOpen() { Log.d(TAG, "onOpen"); super.onOpen(); database = new WifiLocationDatabase(this); calculator = new VerifyingWifiLocationCalculator("apple", database); }
@Override protected synchronized void onClose() { Log.d(TAG, "onClose"); super.onClose(); calculator = null; database.close(); if (thread != null) { thread.interrupt(); thread = null; } database = null; }