├── app ├── .gitignore ├── src │ └── main │ │ ├── ic_launcher-web.png │ │ ├── res │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── xml │ │ │ └── provider_paths.xml │ │ ├── drawable-hdpi │ │ │ └── ic_delete_white_24dp.png │ │ ├── drawable-mdpi │ │ │ └── ic_delete_white_24dp.png │ │ ├── drawable-xhdpi │ │ │ └── ic_delete_white_24dp.png │ │ ├── drawable-xxhdpi │ │ │ └── ic_delete_white_24dp.png │ │ ├── drawable-xxxhdpi │ │ │ └── ic_delete_white_24dp.png │ │ ├── layout │ │ │ ├── activity_settings.xml │ │ │ ├── layout_fullscreen_image.xml │ │ │ ├── activity_gallery.xml │ │ │ ├── dialog_scan_topic.xml │ │ │ ├── gallery_item.xml │ │ │ ├── activity_fullscreen_view.xml │ │ │ ├── about_view.xml │ │ │ └── tageditor_view.xml │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── attrs.xml │ │ │ ├── arrays.xml │ │ │ └── styles.xml │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── drawable │ │ │ ├── side_nav_bar.xml │ │ │ ├── ic_menu_send.xml │ │ │ ├── button_background.xml │ │ │ ├── ic_flash_on_24dp.xml │ │ │ ├── ic_tag_rocket.xml │ │ │ ├── ic_arrow_back_24dp.xml │ │ │ ├── angle.xml │ │ │ ├── ic_menu_slideshow.xml │ │ │ ├── ic_menu_gallery.xml │ │ │ ├── ic_info_outline_white_24px.xml │ │ │ ├── round_button.xml │ │ │ ├── ic_done_all_24dp.xml │ │ │ ├── ic_menu_manage.xml │ │ │ ├── ic_tag_star.xml │ │ │ ├── ic_tag_game.xml │ │ │ ├── ic_find_in_page.xml │ │ │ ├── ic_photo_filter_white_24dp.xml │ │ │ ├── ic_menu_tag.xml │ │ │ ├── ic_monochrome.xml │ │ │ ├── ic_menu_camera.xml │ │ │ ├── ic_tag_magnet.xml │ │ │ ├── ic_menu_share.xml │ │ │ ├── ic_menu_pdf.xml │ │ │ ├── ic_palette.xml │ │ │ ├── ic_camera_green.xml │ │ │ ├── ic_tag_tv.xml │ │ │ ├── ic_tag_bell.xml │ │ │ ├── ic_settings.xml │ │ │ ├── ic_tag_gift.xml │ │ │ ├── ic_launcher_foreground.xml │ │ │ └── ic_launcher_background.xml │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ ├── menu │ │ │ ├── menu_imagepager.xml │ │ │ └── menu_gallery.xml │ │ ├── values-zh-rCN │ │ │ └── strings.xml │ │ ├── values-zh-rTW │ │ │ └── strings.xml │ │ └── values-ja │ │ │ └── strings.xml │ │ ├── java │ │ └── com │ │ │ └── todobom │ │ │ └── opennotescanner │ │ │ ├── helpers │ │ │ ├── OpenNoteMessage.kt │ │ │ ├── AppConstant.kt │ │ │ ├── PreviewFrame.kt │ │ │ ├── Quadrilateral.kt │ │ │ ├── ScannedDocument.kt │ │ │ ├── ScanTopicDialogFragment.kt │ │ │ ├── AboutFragment.kt │ │ │ ├── PdfHelper.kt │ │ │ └── AnimationRunnable.kt │ │ │ ├── ClickListener.kt │ │ │ ├── views │ │ │ ├── SquareFrameLayout.kt │ │ │ ├── HUDCanvasView.kt │ │ │ └── TagEditorFragment.kt │ │ │ ├── SettingsFragment.kt │ │ │ ├── SettingsActivity.kt │ │ │ ├── OpenNoteScannerApplication.kt │ │ │ └── FullScreenImageAdapter.kt │ │ ├── assets │ │ ├── about-zh.md │ │ ├── about-ja.md │ │ ├── about-he.md │ │ ├── about-fa.md │ │ ├── about.md │ │ ├── about-da.md │ │ ├── about-pt.md │ │ ├── about-pl.md │ │ ├── about-in.md │ │ ├── about-cs.md │ │ ├── about-nl.md │ │ ├── about-tr.md │ │ ├── about-it.md │ │ ├── about-fr.md │ │ ├── about-de.md │ │ ├── about-ru.md │ │ ├── about-el.md │ │ ├── about-es.md │ │ └── about-eu.md │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle.kts ├── Icons and Images ├── social banner.png ├── Contributed SVG │ ├── app icon black.svg │ ├── app icon green.svg │ ├── app icon white on blk.svg │ ├── app icon main.svg │ └── app icon white.svg └── main icon design.svg ├── Page Templates ├── A4 with 2 pages.pdf └── A4 with 2 pages.glabels ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── .github ├── workflows │ ├── validate-gradle-wrapper.yml │ └── build.yml ├── dependabot.yml ├── issue_template.md └── pull_request_template.md ├── .travis.yml ├── LICENSE.txt ├── settings.gradle.kts ├── gradle.properties ├── PrivacyPolicy.md ├── .gitlab-ci.yml ├── SETUP_GUIDELINES.md ├── CONTRIBUTORS.md ├── gradlew.bat ├── CONTRIBUTING.md └── FAQ.md /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /Icons and Images/social banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/Icons and Images/social banner.png -------------------------------------------------------------------------------- /Page Templates/A4 with 2 pages.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/Page Templates/A4 with 2 pages.pdf -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Page Templates/A4 with 2 pages.glabels: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/Page Templates/A4 with 2 pages.glabels -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_delete_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/drawable-mdpi/ic_delete_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allgood/OpenNoteScanner/HEAD/app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/java/com/todobom/opennotescanner/helpers/OpenNoteMessage.kt: -------------------------------------------------------------------------------- 1 | package com.todobom.opennotescanner.helpers 2 | 3 | data class OpenNoteMessage(val command: String, val obj: Any?) -------------------------------------------------------------------------------- /app/src/main/java/com/todobom/opennotescanner/ClickListener.kt: -------------------------------------------------------------------------------- 1 | package com.todobom.opennotescanner 2 | 3 | interface ClickListener { 4 | fun onClick(index: Int) 5 | fun onLongClick(index: Int) 6 | } -------------------------------------------------------------------------------- /app/src/main/java/com/todobom/opennotescanner/helpers/AppConstant.kt: -------------------------------------------------------------------------------- 1 | package com.todobom.opennotescanner.helpers 2 | 3 | object AppConstant { 4 | // supported file formats 5 | @JvmField 6 | val FILE_EXTN = listOf("jpg", "jpeg", "png") 7 | } -------------------------------------------------------------------------------- /app/src/main/java/com/todobom/opennotescanner/helpers/PreviewFrame.kt: -------------------------------------------------------------------------------- 1 | package com.todobom.opennotescanner.helpers 2 | 3 | import org.opencv.core.Mat 4 | 5 | data class PreviewFrame(val frame: Mat, val isAutoMode: Boolean, val isPreviewOnly: Boolean) -------------------------------------------------------------------------------- /app/src/main/java/com/todobom/opennotescanner/helpers/Quadrilateral.kt: -------------------------------------------------------------------------------- 1 | package com.todobom.opennotescanner.helpers 2 | 3 | import org.opencv.core.MatOfPoint 4 | import org.opencv.core.Point 5 | 6 | class Quadrilateral(val contour: MatOfPoint, val points: Array) -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.apk 2 | *.iml 3 | .gradle 4 | .idea 5 | *~ 6 | import-summary.txt 7 | /local.properties 8 | **/.idea/workspace.xml 9 | **/.idea/tasks.xml 10 | /.idea/libraries 11 | .DS_Store 12 | /build 13 | /captures 14 | /app/gplay 15 | /app/fdroid 16 | /app/release 17 | **/*/res/values/secrets.xml 18 | -------------------------------------------------------------------------------- /.github/workflows/validate-gradle-wrapper.yml: -------------------------------------------------------------------------------- 1 | name: Validate Gradle Wrapper 2 | 3 | on: [pull_request, push] 4 | 5 | jobs: 6 | validation: 7 | name: Validation 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: gradle/wrapper-validation-action@v1 12 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #00E676 4 | #00C853 5 | #00E676 6 | 7 | #66000000 8 | 9 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: github-actions 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | target-branch: master 8 | - package-ecosystem: gradle 9 | directory: "/" 10 | schedule: 11 | interval: daily 12 | target-branch: master 13 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: android 2 | dist: trusty 3 | android: 4 | components: 5 | - platform-tools 6 | - tools 7 | - build-tools-29.0.2 8 | - android-29 9 | - extra-android-support 10 | - extra-android-m2repository 11 | - extra-google-m2repository 12 | 13 | script: ./gradlew build assembleDebug 14 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2016 - Claudemir Todo Bom 2 | 3 | Software licensed under the GPL version 3 available in GPLv3.TXT and 4 | online on http://www.gnu.org/licenses/gpl.txt. 5 | 6 | Use parts from other developers, sometimes with small changes, 7 | references on autorship and specific licenses are on individual 8 | source files. 9 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | dependencyResolutionManagement { 2 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 3 | repositories { 4 | mavenCentral() 5 | jcenter() 6 | google() 7 | maven(url = "https://jitpack.io") 8 | } 9 | } 10 | rootProject.name = "Open Note Scanner" 11 | include(":app") 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/side_nav_bar.xml: -------------------------------------------------------------------------------- 1 | 3 | 9 | -------------------------------------------------------------------------------- /.github/issue_template.md: -------------------------------------------------------------------------------- 1 | Describe your issue here. 2 | 3 | ### Steps to reproduce 4 | Tell us how to reproduce this issue. 5 | 6 | ### Expected behaviour 7 | Tell us what should happen 8 | 9 | ### Actual behaviour 10 | Tell us what happens instead 11 | 12 | ### Would you like to work on the issue? 13 | Tell us if you would like to work on this issue 14 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionSha256Sum=47a5bfed9ef814f90f8debcbbb315e8e7c654109acd224595ea39fca95c5d4da 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-all.zip 5 | networkTimeout=10000 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_send.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/button_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_flash_on_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tag_rocket.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_back_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build application 2 | 3 | on: [pull_request, push] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - uses: actions/checkout@v3 11 | - name: Set up JDK 11 12 | uses: actions/setup-java@v3 13 | with: 14 | distribution: 'temurin' 15 | java-version: 11 16 | cache: gradle 17 | - name: Build with Gradle 18 | run: ./gradlew build --no-daemon 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/angle.xml: -------------------------------------------------------------------------------- 1 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 160dp 5 | 6 | 16dp 7 | 16dp 8 | 16dp 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_slideshow.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_gallery.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_info_outline_white_24px.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/round_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_fullscreen_image.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_done_all_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_manage.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tag_star.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tag_game.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/java/com/todobom/opennotescanner/helpers/ScannedDocument.kt: -------------------------------------------------------------------------------- 1 | package com.todobom.opennotescanner.helpers 2 | 3 | import org.opencv.core.Mat 4 | import org.opencv.core.Point 5 | import org.opencv.core.Size 6 | 7 | class ScannedDocument(val original: Mat) { 8 | var processed: Mat? = null 9 | var quadrilateral: Quadrilateral? = null 10 | var previewPoints: Array? = null 11 | var previewSize: Size? = null 12 | 13 | fun release() { 14 | processed?.release() 15 | original.release() 16 | quadrilateral?.contour?.release() 17 | } 18 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_gallery.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_find_in_page.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_photo_filter_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_tag.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_monochrome.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @string/pageformat_disabled 5 | @string/pageformat_iso 6 | @string/pageformat_halfletter 7 | @string/pageformat_letter 8 | @string/pageformat_custom 9 | 10 | 11 | 0 12 | 1.4142 13 | 1.5455 14 | 1.2941 15 | 0.0001 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_camera.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_scan_topic.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/allgood/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tag_magnet.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_share.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_pdf.xml: -------------------------------------------------------------------------------- 1 | 3 | 8 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_palette.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/todobom/opennotescanner/views/SquareFrameLayout.kt: -------------------------------------------------------------------------------- 1 | package com.todobom.opennotescanner.views 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import android.widget.FrameLayout 6 | import kotlin.math.max 7 | 8 | /** 9 | * Based on RectangleView from 10 | * @author Aidan Follestad (afollestad) 11 | */ 12 | class SquareFrameLayout : FrameLayout { 13 | constructor(context: Context) : super(context) 14 | constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) 15 | constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) 16 | 17 | override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { 18 | val squareSpec = max(widthMeasureSpec, heightMeasureSpec) 19 | super.onMeasure(squareSpec, squareSpec) 20 | } 21 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_camera_green.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/gallery_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tag_tv.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | android.enableJetifier=true 20 | android.useAndroidX=true 21 | org.gradle.jvmargs=-Xms512M -Xmx8G 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tag_bell.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_settings.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_imagepager.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 12 | 13 | 19 | 20 | 26 | 27 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /PrivacyPolicy.md: -------------------------------------------------------------------------------- 1 | Privacy Policy 2 | ============== 3 | 4 | [Claudemir Todo Bom](https://github.com/ctodobom) is the lead developer and maintainer of Open Note Scanner. 5 | 6 | This document serves as an informative texts to users and prospective users of this app about the policies involved in the usage of the app. 7 | 8 | Any future changes on this policy will be stated here and inside the app. 9 | 10 | ### Collected Information 11 | Open Note Scanner only collects anonymous usage data, which is enabled by default, when download via your device play store **Google Play**, it can be disabled/enabled on the settings page of the app. 12 | 13 | ### Google Play version specific 14 | Version on Google Play since version 1.0.36 does use the AdMob platform to show ads and also Google Play in-app purchase to get donations. Those libraries have specific privacy policies that can be read on the following links: 15 | 16 | [AdMob](https://www.google.com/policies/privacy/) 17 | [Google Play Services](https://support.google.com/admob/answer/6128543?hl=en) 18 | 19 | ### Contact us 20 | 21 | If you have any question for the developer, you can check the [FAQ](https://github.com/ctodobom/OpenNoteScanner/blob/master/FAQ.md) section for answers. 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_fullscreen_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 19 | 20 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | image: openjdk:8-jdk 2 | variables: 3 | ANDROID_COMPILE_SDK: "29" 4 | ANDROID_BUILD_TOOLS: "29.0.2" 5 | ANDROID_SDK_URL: "https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip" # current available in https://developer.android.com/studio/index.html#downloads 6 | before_script: 7 | - apt-get --quiet update --yes 8 | - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 9 | - wget --quiet --output-document=android-tools.zip ${ANDROID_SDK_URL} 10 | - mkdir -p android-sdk-linux/cmdline-tools 11 | - unzip ./android-tools.zip -d android-sdk-linux/cmdline-tools 12 | - export ANDROID_HOME=$PWD/android-sdk-linux 13 | - export ANDROID_SDKMANAGER=${ANDROID_HOME}/cmdline-tools/tools/bin/sdkmanager 14 | - echo y | ${ANDROID_SDKMANAGER} "platforms;android-${ANDROID_COMPILE_SDK}" "platform-tools" "build-tools;${ANDROID_BUILD_TOOLS}" > /dev/null 15 | - export PATH=$PATH:${ANDROID_HOME}/platform-tools/ 16 | - chmod +x ./gradlew 17 | - set +o pipefail 18 | - yes | ${ANDROID_SDKMANAGER} --licenses 19 | - set -o pipefail 20 | 21 | stages: 22 | - build 23 | build: 24 | stage: build 25 | script: 26 | - ./gradlew assembleDebug 27 | artifacts: 28 | paths: 29 | - app/build/outputs/ 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tag_gift.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/layout/about_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 21 | 22 |