Finder app
The main function of Finder is to send the location of the smartphone it's installed on when requested. It also has a "tracker" feature (it can’t be activated remotely, only manually). The application is designed to search for missing people or stolen phones. SMS is used for communication because Internet connectivity may be not available. The app has two ways of determining the coordinates: using GPS (gps must be enabled in system settings, or special permission granted via ADB for auto-enabling), and using mobile and WiFi network info.Important! On Android 6.0 and newer for the Wifi networks searching feature, GPS must be enabled beforehand! (or enable GPS auto activating). GPS will not be used during network scanning, but nevertheless, newer versions of Android require it to be turned on (otherwise the system returns an empty list of networks). The app has a detailed help section, read it before use (but it is best to check whether the app works on a real device before use).
When location is retrieved using WiFi and mobile networks, the response SMS will have the MAC addresses of surrounding WiFi networks, and to determine the location it is necessary to have this application and a connection the Internet on the requesting phone (not needed on the remote [responding] side). This method can help in the case of trying to find a phone in a building / dense arrangement of buildings in the city.
Time in the "history" section - the local time of the requesting phone at the moment the coordinates were determined by the responding phone (included in sms).
An important feature is the fact that the application only responds to numbers from the "trusted list" and only when the "respond to requests" option is enabled! It is necessary to add the telephone numbers from which the requests will be sent in advance. The commands on the requesting and responding phones must be the same. It is possible to enable remote adding of phone nimbers to the "trusted list". If this mode is enabled (and the command is right) it allows you to remotely register a previously unknown number in the "trusted list". Finder displays notifications for any requests/responses.
It is also possible to send your coordinates manually to any number from "trusted list".
App can ring by request from trusted numbers. It disable "don't disturb mode", set 90% volume and play ringtone. To stop ringtone click on the notification, or it stops automatically after time from settings. Volume remain on original value.
MIUI users (and possibly some other OSes) need to apply additional system settings to make the application operate reliably. This is described in detail in the built-in help.
If the tracker function is enabled, the device sends its coordinates to one of the trusted numbers with a set period. On the other device incoming SMS are parsed and a track is displayed on the map. Tracks can be exported in GPX format to be used in other navigation applications (the only difference from standard is local time instead UTC).
Permissions are requested immediately at the start, because they will be needed later for determining the coordinates in the background. Description of required permissions:
Access to location - obvious, for retrieving location.
Access to SMS - "receive" - for detecting commands, "read" - needed in the case of the app not detecting having receivied SMS with network data, "send" - to send location and commands.
Write to external storage - for cache of map and export track in gpx.
*Read phone state - requested only for android 8.0 due to a bug in this version of the OS (only in 8.0).
WRITE_SECURE_SETTINGS, WRITE_SETTINGS - needed for automatically activating GPS on device (app can work without this permission, but GPS should be enabled manually beforehand). Can be granted using an ADB command: "adb shell pm grant ru.seva.finder android.permission.WRITE_SECURE_SETTINGS", for more info see https://githu