|
1 | 1 | # QuickLens 🔍 |
2 | 2 |
|
3 | | -**QuickLens** involves a "Circle to Search" experience for any Android device. It allows you to instantly search anything on your screen using multiple search engines. |
| 3 | +**QuickLens** brings a "Circle to Search" experience to any Android device. Instantly search anything on your screen using multiple search engines — just like the flagship feature on premium devices, but available everywhere. |
| 4 | + |
| 5 | +<p align="center"> |
| 6 | + <img src="https://img.shields.io/badge/Version-1.0-blue?style=for-the-badge" alt="Version 1.0"> |
| 7 | + <img src="https://img.shields.io/badge/Min%20SDK-29-green?style=for-the-badge" alt="Min SDK 29"> |
| 8 | + <img src="https://img.shields.io/badge/Target%20SDK-36-orange?style=for-the-badge" alt="Target SDK 36"> |
| 9 | + <img src="https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge" alt="MIT License"> |
| 10 | +</p> |
| 11 | + |
| 12 | +--- |
4 | 13 |
|
5 | 14 | ## ✨ Features |
6 | 15 |
|
7 | | -- **Circle to Search**: Trigger via accessibility shortcut, crop any part of your screen, and search instantly. |
8 | | -- **Multi-Engine Support**: Seamlessly switch between Google Lens, Bing, and Yandex. |
9 | | -- **Smart History**: Keeps track of your searches with visual snapshots. |
10 | | -- **Customizable UI**: |
11 | | - - **Premium Aesthetics**: Beautiful "Electric Violet" gradient overlays. |
12 | | - - **Dark Mode**: Fully supported. |
13 | | - - **Floating Bubble**: Optional floating trigger for easier access. |
14 | | -- **Privacy Focused**: No data collection, everything stays on your device or goes directly to the search provider. |
| 16 | +### 🎯 Trigger Methods |
| 17 | +- **Default Assistant Gesture** — Long-press the Home button or swipe diagonally from corners to instantly capture and search |
| 18 | +- **Floating Bubble** — Optional draggable trigger bubble for one-tap access (opt-in) |
| 19 | + |
| 20 | +### 🔎 Search Capabilities |
| 21 | +- **Multi-Engine Support** — Seamlessly switch between Google Lens, Bing, and Yandex |
| 22 | +- **Crop & Search** — Select any region of your screenshot to search |
| 23 | +- **Visual Search** — Upload cropped images directly to reverse image search |
| 24 | + |
| 25 | +### 🎨 Customization |
| 26 | +- **Theme Options** — System, Light, and Dark modes |
| 27 | +- **Desktop Mode** — Request desktop versions of search results |
| 28 | +- **Open Links Externally** — Choose to open results in your default browser |
| 29 | +- **Auto-clear History** — Configure automatic history cleanup (Never, 1/7/15/30 days) |
| 30 | + |
| 31 | +### 📱 Smart History |
| 32 | +- Visual snapshots of all your searches |
| 33 | +- Searchable history with timestamps |
| 34 | +- One-tap to re-open previous searches |
| 35 | + |
| 36 | +### 🔒 Privacy First |
| 37 | +- **No data collection** — Everything stays on your device |
| 38 | +- **No background processing** — App only activates on explicit user action |
| 39 | +- **Direct to provider** — Search queries go directly to the search engine |
| 40 | + |
| 41 | +--- |
15 | 42 |
|
16 | 43 | ## 🚀 Getting Started |
17 | 44 |
|
18 | | -1. **Install the APK**. |
19 | | -2. **Grant Accessibility Permission**: Required to capture the screen and draw the overlay. |
20 | | -3. **Double Tap Status Bar** (or use the Floating Bubble) to start searching! |
| 45 | +### Prerequisites |
| 46 | +- Android 10+ (API 29) |
| 47 | +- ~2.5 MB storage space |
| 48 | + |
| 49 | +### Installation |
| 50 | + |
| 51 | +1. **Download** the latest APK from [Releases](../../releases) |
| 52 | +2. **Install** the APK on your device |
| 53 | +3. **Enable Accessibility Service** |
| 54 | + - Open QuickLens → Tap "Enable Accessibility" |
| 55 | + - Find QuickLens in the list and enable it |
| 56 | +4. **Set as Default Assistant** |
| 57 | + - Open QuickLens → Tap "Enable Trigger (Default Assistant)" |
| 58 | + - Select QuickLens as your digital assistant app |
| 59 | +5. **Start Searching!** |
| 60 | + - Long-press Home button or swipe diagonally from screen corners |
| 61 | + |
| 62 | +--- |
| 63 | + |
| 64 | +## 🎮 How to Use |
| 65 | + |
| 66 | +| Action | Trigger | |
| 67 | +|--------|---------| |
| 68 | +| **Capture Screen** | Long-press Home / Swipe diagonal | |
| 69 | +| **Crop Selection** | Drag on screenshot to select area | |
| 70 | +| **Switch Engine** | Tap engine buttons (Lens/Bing/Yandex) | |
| 71 | +| **View History** | Tap History icon in app | |
| 72 | +| **Close Overlay** | Tap outside the result sheet or swipe down | |
| 73 | + |
| 74 | +--- |
21 | 75 |
|
22 | 76 | ## 🛠️ Built With |
23 | 77 |
|
24 | | -- **Kotlin** & **Jetpack Compose** - Modern Android UI toolkit. |
25 | | -- **Coroutines** - Asynchronous programming. |
26 | | -- **Room Database** - Local history storage. |
| 78 | +| Technology | Purpose | |
| 79 | +|------------|---------| |
| 80 | +| **Kotlin** | Primary language | |
| 81 | +| **Jetpack Compose** | Modern declarative UI | |
| 82 | +| **Material 3** | Design system | |
| 83 | +| **Room Database** | Local history storage | |
| 84 | +| **Coroutines** | Async operations | |
| 85 | +| **VoiceInteractionService** | Assistant trigger integration | |
| 86 | +| **AccessibilityService** | Screen capture capability | |
| 87 | + |
| 88 | + |
| 89 | +--- |
| 90 | + |
| 91 | +## 🔧 Building from Source |
| 92 | + |
| 93 | +```bash |
| 94 | +# Clone the repository |
| 95 | +git clone https://github.com/quantavil/QuickLens.git |
| 96 | +cd QuickLens |
| 97 | + |
| 98 | +# Build debug APK |
| 99 | +./gradlew assembleDebug |
| 100 | + |
| 101 | +# Build release APK |
| 102 | +./gradlew assembleRelease |
| 103 | +``` |
| 104 | + |
| 105 | +The release APK will be at: `app/build/outputs/apk/release/app-release.apk` |
| 106 | + |
| 107 | +--- |
27 | 108 |
|
28 | 109 | ## 🤝 Contributing |
29 | 110 |
|
30 | 111 | Contributions are welcome! Please feel free to submit a Pull Request. |
31 | 112 |
|
| 113 | +1. Fork the repository |
| 114 | +2. Create your feature branch (`git checkout -b feature/AmazingFeature`) |
| 115 | +3. Commit your changes (`git commit -m 'Add some AmazingFeature'`) |
| 116 | +4. Push to the branch (`git push origin feature/AmazingFeature`) |
| 117 | +5. Open a Pull Request |
| 118 | + |
| 119 | +--- |
| 120 | + |
32 | 121 | ## 📄 License |
33 | 122 |
|
34 | 123 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
| 124 | + |
| 125 | +--- |
| 126 | + |
| 127 | +## 🙏 Acknowledgments |
| 128 | + |
| 129 | +- Inspired by Google's Circle to Search feature |
| 130 | +- Built with ❤️ using Jetpack Compose |
| 131 | + |
| 132 | +--- |
| 133 | + |
| 134 | +<p align="center"> |
| 135 | + <b>QuickLens</b> — Search anything, anywhere, instantly. |
| 136 | +</p> |
0 commit comments