├── src ├── app │ ├── .gitignore │ ├── release │ │ ├── app-release.apk │ │ └── output-metadata.json │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── drawable │ │ │ │ │ ├── logo.png │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ ├── drawable-hdpi │ │ │ │ │ ├── add.png │ │ │ │ │ └── settings.png │ │ │ │ ├── drawable-mdpi │ │ │ │ │ ├── add.png │ │ │ │ │ └── settings.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ ├── add.png │ │ │ │ │ └── settings.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ │ ├── add.png │ │ │ │ │ └── settings.png │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ ├── ic_launcher.webp │ │ │ │ │ └── ic_launcher_round.webp │ │ │ │ ├── xml │ │ │ │ │ ├── device_admin.xml │ │ │ │ │ ├── backup_rules.xml │ │ │ │ │ └── data_extraction_rules.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── menu │ │ │ │ │ ├── menu_add.xml │ │ │ │ │ └── menu_settings.xml │ │ │ │ ├── drawable-anydpi │ │ │ │ │ ├── add.xml │ │ │ │ │ └── settings.xml │ │ │ │ ├── values │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── themes.xml │ │ │ │ │ └── strings.xml │ │ │ │ ├── values-night │ │ │ │ │ └── themes.xml │ │ │ │ ├── layout │ │ │ │ │ ├── activity_ringer.xml │ │ │ │ │ ├── activity_whitelist_contacts.xml │ │ │ │ │ ├── activity_show_message.xml │ │ │ │ │ ├── activity_main.xml │ │ │ │ │ ├── activity_app_info.xml │ │ │ │ │ ├── settings.xml │ │ │ │ │ └── activity_permissions.xml │ │ │ │ ├── drawable-v24 │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ └── values-it-rIT │ │ │ │ │ └── strings.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── xfarrow │ │ │ │ │ └── locatemydevice │ │ │ │ │ ├── AdminReceiver.java │ │ │ │ │ ├── AppInfoActivity.java │ │ │ │ │ ├── CipherUtils.java │ │ │ │ │ ├── ShowMessageActivity.java │ │ │ │ │ ├── Settings.java │ │ │ │ │ ├── RingerActivity.java │ │ │ │ │ ├── SmsReceiver.java │ │ │ │ │ ├── WhitelistDbHandler.java │ │ │ │ │ ├── Utils.java │ │ │ │ │ ├── PermissionsActivity.java │ │ │ │ │ ├── SettingsActivity.java │ │ │ │ │ ├── WhitelistContactsActivity.java │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── SmsHandler.java │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── xfarrow │ │ │ │ └── locatemydevice │ │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── xfarrow │ │ │ └── locatemydevice │ │ │ └── ExampleInstrumentedTest.java │ ├── proguard-rules.pro │ └── build.gradle ├── .idea │ ├── .name │ ├── .gitignore │ ├── compiler.xml │ ├── vcs.xml │ ├── deploymentTargetDropDown.xml │ ├── gradle.xml │ └── misc.xml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── .gitignore ├── build.gradle ├── settings.gradle ├── gradle.properties ├── gradlew.bat └── gradlew ├── .gitignore ├── images ├── home.png ├── sms.png └── IzzyOnDroid_badge.png ├── fastlane └── metadata │ └── android │ └── en-US │ ├── short_description.txt │ ├── images │ └── phoneScreenshots │ │ ├── home.jpg │ │ └── sms.jpg │ └── full_description.txt ├── README.md └── LICENSE /src/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /src/.idea/.name: -------------------------------------------------------------------------------- 1 | Locate my device -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | androidkey.jks 3 | src/.idea/deploymentTargetDropDown.xml 4 | -------------------------------------------------------------------------------- /src/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/images/home.png -------------------------------------------------------------------------------- /images/sms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/images/sms.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | locate a lost smartphone through the use of conventional SMS -------------------------------------------------------------------------------- /images/IzzyOnDroid_badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/images/IzzyOnDroid_badge.png -------------------------------------------------------------------------------- /src/app/release/app-release.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/release/app-release.apk -------------------------------------------------------------------------------- /src/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/app/src/main/res/drawable/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/drawable/logo.png -------------------------------------------------------------------------------- /src/app/src/main/res/drawable-hdpi/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/drawable-hdpi/add.png -------------------------------------------------------------------------------- /src/app/src/main/res/drawable-mdpi/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/drawable-mdpi/add.png -------------------------------------------------------------------------------- /src/app/src/main/res/drawable-xhdpi/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/drawable-xhdpi/add.png -------------------------------------------------------------------------------- /src/app/src/main/res/drawable-xxhdpi/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/drawable-xxhdpi/add.png -------------------------------------------------------------------------------- /src/app/src/main/res/drawable-hdpi/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/drawable-hdpi/settings.png -------------------------------------------------------------------------------- /src/app/src/main/res/drawable-mdpi/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/drawable-mdpi/settings.png -------------------------------------------------------------------------------- /src/app/src/main/res/drawable-xhdpi/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/drawable-xhdpi/settings.png -------------------------------------------------------------------------------- /src/app/src/main/res/drawable-xxhdpi/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/drawable-xxhdpi/settings.png -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/src/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/home.jpg -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/sms.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfarrow/locatemydevice/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/sms.jpg -------------------------------------------------------------------------------- /src/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/app/src/main/res/xml/device_admin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/app/src/main/java/com/xfarrow/locatemydevice/AdminReceiver.java: -------------------------------------------------------------------------------- 1 | package com.xfarrow.locatemydevice; 2 | 3 | import android.app.admin.DeviceAdminReceiver; 4 | 5 | public class AdminReceiver extends DeviceAdminReceiver { 6 | } 7 | -------------------------------------------------------------------------------- /src/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Sep 22 15:14:33 CEST 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | plugins { 3 | id 'com.android.application' version '7.2.0' apply false 4 | id 'com.android.library' version '7.2.0' apply false 5 | } 6 | 7 | task clean(type: Delete) { 8 | delete rootProject.buildDir 9 | } -------------------------------------------------------------------------------- /src/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/app/src/main/res/menu/menu_add.xml: -------------------------------------------------------------------------------- 1 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /src/app/src/main/res/menu/menu_settings.xml: -------------------------------------------------------------------------------- 1 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /src/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | google() 5 | mavenCentral() 6 | } 7 | } 8 | dependencyResolutionManagement { 9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 10 | repositories { 11 | google() 12 | mavenCentral() 13 | } 14 | } 15 | rootProject.name = "Locate my device" 16 | include ':app' 17 | -------------------------------------------------------------------------------- /src/app/src/main/res/drawable-anydpi/add.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /src/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /src/app/release/output-metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "artifactType": { 4 | "type": "APK", 5 | "kind": "Directory" 6 | }, 7 | "applicationId": "com.xfarrow.locatemydevice", 8 | "variantName": "release", 9 | "elements": [ 10 | { 11 | "type": "SINGLE", 12 | "filters": [], 13 | "attributes": [], 14 | "versionCode": 6, 15 | "versionName": "1.1-beta", 16 | "outputFile": "app-release.apk" 17 | } 18 | ], 19 | "elementType": "File" 20 | } -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/full_description.txt: -------------------------------------------------------------------------------- 1 |

Locate My Device is an application miming Google's Find My Device – through SMS. It can help you to locate a lost smartphone.

How it works? Simply send an SMS to the device you want to locate in order to retrieve information about it. The SMS must consist of the configured activation command, a password and an instruction – e.g. "locate" if you want the coordinates, "battery" for some battery details, "ring" to make it ring – or "lock" to lock it down.

-------------------------------------------------------------------------------- /src/app/src/test/java/com/xfarrow/locatemydevice/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.xfarrow.locatemydevice; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /src/app/src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /src/.idea/deploymentTargetDropDown.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/app/src/main/java/com/xfarrow/locatemydevice/AppInfoActivity.java: -------------------------------------------------------------------------------- 1 | package com.xfarrow.locatemydevice; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.os.Bundle; 6 | import android.widget.TextView; 7 | 8 | public class AppInfoActivity extends AppCompatActivity { 9 | 10 | @Override 11 | protected void onCreate(Bundle savedInstanceState) { 12 | super.onCreate(savedInstanceState); 13 | setContentView(R.layout.activity_app_info); 14 | 15 | TextView appVersionTextView = findViewById(R.id.appversionTextView); 16 | appVersionTextView.setText("App version: " + BuildConfig.VERSION_NAME); 17 | } 18 | } -------------------------------------------------------------------------------- /src/app/src/main/res/xml/data_extraction_rules.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 12 | 13 | 19 | -------------------------------------------------------------------------------- /src/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | -------------------------------------------------------------------------------- /src/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /src/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /src/app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /src/app/src/main/res/layout/activity_ringer.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 |