Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
beyzanurakkuzu committed Jun 7, 2022
0 parents commit 4337745
Show file tree
Hide file tree
Showing 284 changed files with 14,711 additions and 0 deletions.
1 change: 1 addition & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
97 changes: 97 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
plugins {
id 'io.sentry.android.gradle' version "3.0.1"
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'kotlin-kapt'
}

android {
compileSdk 31

defaultConfig {
applicationId "com.beyzaakkuzu.qrcodereader"
minSdk 26
targetSdk 31
versionCode 1
versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildConfigField "boolean", "ERROR_REPORTS_ENABLED_BY_DEFAULT", "true"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}

sentry {
includeProguardMapping = true
autoUploadProguardMapping = true
}
dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])

// Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

// Android
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'androidx.multidex:multidex:2.0.1'

// Room
final roomVersion = "2.4.2"
kapt "androidx.room:room-compiler:$roomVersion"
implementation "androidx.room:room-runtime:$roomVersion"
implementation "androidx.room:room-rxjava2:$roomVersion"

// Paging
final pagingVersion = "1.0.1"
implementation "android.arch.paging:runtime:$pagingVersion"
implementation "android.arch.paging:rxjava2:$pagingVersion"

// Barcode Scanner
implementation 'com.budiyev.android:code-scanner:2.1.0'

// Barcode Image Generator
//noinspection GradleDependency

implementation 'com.google.zxing:core:3.3.3'
implementation 'com.journeyapps:zxing-android-embedded:3.4.0@aar'
// VCard Parser
implementation 'com.googlecode.ez-vcard:ez-vcard:0.11.0'

// Base32 Encoder
implementation "commons-codec:commons-codec:1.15"

// Rx
implementation "io.reactivex.rxjava2:rxkotlin:2.3.0"
implementation "com.jakewharton.rxbinding2:rxbinding-appcompat-v7-kotlin:2.2.0"

// Image Crop Library
implementation 'com.isseiaoki:simplecropview:1.1.8'

// Date time picker
implementation 'com.github.florent37:singledateandtimepicker:2.2.7'
// Sentry
implementation 'io.sentry:sentry-android:5.7.1'
//Map
implementation 'com.google.android.gms:play-services-location:18.0.0'
//Bottombar
implementation 'nl.joery.animatedbottombar:library:1.0.9'

}
21 changes: 21 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
198 changes: 198 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.beyzaakkuzu.qrcodereader">


<!--Normal permissions-->
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

<!--Dangerous permissions-->
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.QrCodeReader">

<meta-data
android:name="io.sentry.dsn"
android:value="https://09f3022eb19f4fa7ba332b1f44188ff1@o432234.ingest.sentry.io/5384638"
/>

<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.example.barcodescanner.fileprovider"
android:exported="false"
android:grantUriPermissions="true"
>
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"
/>
</provider>

<service
android:name=".feature.tile.QuickSettingsTileService"
android:icon="@drawable/ic_scan"
android:label="@string/app_name"
android:exported="true"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action
android:name="android.service.quicksettings.action.QS_TILE"/>
</intent-filter>
</service>

<activity
android:name=".feature.tabs.BottomTabsActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="true"
>

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts"
/>
</activity>

<activity
android:name=".feature.tabs.scan.file.ScanBarcodeFromFileActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
tools:ignore="AppLinkUrlError"
android:exported="true"
>

<intent-filter android:label="@string/intent_filter_scan_image">
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="image/*"/>
</intent-filter>

<intent-filter android:label="@string/intent_filter_scan_image">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="image/*"/>
</intent-filter>

</activity>

<activity
android:name=".feature.tabs.create.CreateBarcodeActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:windowSoftInputMode="stateVisible"
android:exported="true"
>
<intent-filter android:label="@string/intent_filter_create_qr_code_text">
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>

<intent-filter android:label="@string/intent_filter_create_qr_code_text">
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/x-vcard"/>
</intent-filter>
</activity>
<activity
android:name=".feature.tabs.create.qr.AllActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
/>
<activity
android:name=".feature.tabs.create.barcode.CreateBarcodeAllActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
/>

<activity
android:name="com.beyzaakkuzu.qrcodereader.feature.barcode.BarcodeActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
/>
<activity
android:name="com.beyzaakkuzu.qrcodereader.feature.barcode.BarcodeImageActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
/>

<activity
android:name=".feature.barcode.save.SaveBarcodeAsTextActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
tools:ignore="MissingClass" />
<activity
android:name=".feature.barcode.save.SaveBarcodeAsImageActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
tools:ignore="MissingClass" />

<activity
android:name=".feature.tabs.history.export.ExportHistoryActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
/>

<activity
android:name=".feature.tabs.settings.theme.ChooseThemeActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
tools:ignore="Instantiatable" />
<activity
android:name=".feature.tabs.settings.camera.ChooseCameraActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
/>
<activity
android:name=".feature.tabs.settings.formats.SupportedFormatsActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
/>
<activity
android:name=".feature.tabs.settings.search.ChooseSearchEngineActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
/>
<activity
android:name=".feature.tabs.settings.permissions.AllPermissionsActivity"
android:screenOrientation="fullSensor"
android:configChanges="orientation|screenSize"
android:exported="false"
/>

</application>

</manifest>
25 changes: 25 additions & 0 deletions app/src/main/java/com/beyzaakkuzu/qrcodereader/App.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.beyzaakkuzu.qrcodereader

import androidx.multidex.MultiDexApplication
import com.beyzaakkuzu.qrcodereader.di.settings
import com.beyzaakkuzu.qrcodereader.usecase.Logger
import io.reactivex.plugins.RxJavaPlugins

class App : MultiDexApplication() {

override fun onCreate() {
handleUnhandledRxJavaErrors()
applyTheme()
super.onCreate()
}

private fun applyTheme() {
settings.reapplyTheme()
}

private fun handleUnhandledRxJavaErrors() {
RxJavaPlugins.setErrorHandler { error ->
Logger.log(error)
}
}
}
Loading

0 comments on commit 4337745

Please sign in to comment.