├── .gitignore ├── AndroidManifest.xml ├── README.md ├── ant.properties ├── build.xml ├── libs └── android-support-v4.jar ├── project.properties ├── res ├── layout │ └── main.xml ├── values-v11 │ └── styles.xml └── values │ ├── strings.xml │ └── styles.xml └── src └── net └── mlcastle └── photospy ├── BitmapLoader.java ├── ShowImage.java └── SpyActivity.java /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | bin 3 | gen 4 | *.iml 5 | local.properties 6 | -------------------------------------------------------------------------------- /AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Photo Spy for Android 2 | ===================== 3 | 4 | This is a small program to display the list of photos on your Android 5 | device and then to display those photos to you. The interesting thing 6 | is that it requires absolutely no system permissions to be able to do 7 | so. 8 | 9 | This app does not have [`INTERNET` permission][internet]. So it can 10 | not send your images to anyone and is not a “true” spy. But given that 11 | almost every Android app in the Market does in fact have `INTERNET` 12 | permission, this is not much of a limitation. 13 | 14 | According [an article][nyt] in the _Times_, iOS needs location permission 15 | to be able to do the same, which is kind of confusing. Google 16 | “declined to comment on how its Android operating system for mobile 17 | devices handles this issue,” which is kind of wise under the 18 | circumstances. 19 | 20 | **Note:** as of Android 4.4 ("KitKat"), this [no longer works][kk] without 21 | the `READ_EXTERNAL_STORAGE` permission. 22 | 23 | Installation 24 | ------------ 25 | 26 | Scan this QR code: 27 | 28 | ![QR Code][qrcode] 29 | 30 | 31 | Building 32 | -------- 33 | 34 | Get the [Android SDK][sdk]. Then, fetch a copy of this project, open 35 | up a terminal in the project's directory, and do 36 | 37 | ``` 38 | android update project -p . 39 | ant clean debug 40 | ``` 41 | 42 | If you have a phone plugged in or an emulator running, you can then do 43 | 44 | ``` 45 | ant installd 46 | ``` 47 | 48 | to install. 49 | 50 | License 51 | ------- 52 | 53 | Copyright © 2012 [Michael Castleman][me]. 54 | 55 | This program is free software. It comes without any warranty, to 56 | the extent permitted by applicable law. You can redistribute it 57 | and/or modify it under the terms of the [Do What The Fuck You Want 58 | To Public License][wtfpl], Version 2, as published by Sam Hocevar. 59 | 60 | This project uses and distributes the [Android Compatibility 61 | Library][support], which is Copyright The Android Open Source Project 62 | and distributed under the [Apache License, Version 2.0][apache]. 63 | 64 | [internet]: http://developer.android.com/reference/android/Manifest.permission.html#INTERNET 65 | [nyt]: http://bits.blogs.nytimes.com/2012/02/28/tk-ios-gives-developers-access-to-photos-videos-location/?hp 66 | [qrcode]: https://chart.googleapis.com/chart?cht=qr&chs=300x300&chl=https://github.com/downloads/mlc/android-photo-spy/PhotoSpy-debug.apk 67 | [sdk]: http://developer.android.com/sdk/index.html 68 | [me]: http://mlcastle.net/ 69 | [wtfpl]: http://sam.zoy.org/wtfpl/ 70 | [support]: http://developer.android.com/sdk/compatibility-library.html 71 | [apache]: https://www.apache.org/licenses/LICENSE-2.0 72 | [kk]: https://developer.android.com/about/versions/android-4.4.html#BehaviorStorage 73 | -------------------------------------------------------------------------------- /ant.properties: -------------------------------------------------------------------------------- 1 | # This file is used to override default values used by the Ant build system. 2 | # 3 | # This file must be checked in Version Control Systems, as it is 4 | # integral to the build system of your project. 5 | 6 | # This file is only used by the Ant script. 7 | 8 | # You can use this to override default values such as 9 | # 'source.dir' for the location of your java source folder and 10 | # 'out.dir' for the location of your output folder. 11 | 12 | # You can also use it define how the release builds are signed by declaring 13 | # the following properties: 14 | # 'key.store' for the location of your keystore and 15 | # 'key.alias' for the name of the key to use. 16 | # The password will be asked during the build when you use the 'release' target. 17 | 18 | -------------------------------------------------------------------------------- /build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 29 | 30 | 31 | 40 | 41 | 42 | 43 | 47 | 48 | 49 | 51 | 63 | 64 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /libs/android-support-v4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mlc/android-photo-spy/8c6b018973d7a91893af4862df338afa35fb3495/libs/android-support-v4.jar -------------------------------------------------------------------------------- /project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system use, 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | 10 | # Project target. 11 | target=android-14 12 | -------------------------------------------------------------------------------- /res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 11 | -------------------------------------------------------------------------------- /res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 |