Skip to content

Commit 13d99e6

Browse files
committed
Merge branch 'tf-integration' into docs-setup
2 parents a977772 + 356f02e commit 13d99e6

41 files changed

Lines changed: 3659 additions & 777 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/create_release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- name: Setup JDK
2020
uses: actions/setup-java@v3.13.0
2121
with:
22-
java-version: '11'
22+
java-version: '17'
2323
distribution: 'temurin'
2424
cache: gradle
2525

.github/workflows/debug_build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Setup JDK
1717
uses: actions/setup-java@v3.13.0
1818
with:
19-
java-version: '11'
19+
java-version: '17'
2020
distribution: 'temurin'
2121
cache: gradle
2222
- name: Create local gradle properties files

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
# Gradle files
2-
.gradle/
3-
build/
42

53
# Local configuration file (sdk path, etc)
64
local.properties

Feature Sheets.pdf

2.47 MB
Binary file not shown.

app/build.gradle

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,18 @@ plugins {
33
id 'org.jetbrains.kotlin.android'
44
id 'kotlin-parcelize'
55
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
6-
76
}
87

98
android {
109
namespace 'com.nlinterface'
11-
compileSdk 33
10+
compileSdk 34
1211

1312
defaultConfig {
1413
applicationId "com.nlinterface"
1514
minSdk 24
1615
targetSdk 33
1716
versionCode 1
18-
versionName '0.0.1'
17+
versionName '0.0.3'
1918

2019
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2120
}
@@ -36,26 +35,57 @@ android {
3635
buildFeatures {
3736
viewBinding true
3837
}
38+
packaging {
39+
resources {
40+
excludes += "/META-INF/{AL2.0,LGPL2.1}"
41+
excludes += "META-INF/DEPENDENCIES"
42+
excludes += "mozilla/public-suffix-list.txt"
43+
}
44+
}
3945
}
4046

4147
dependencies {
4248

43-
implementation 'androidx.core:core-ktx:1.7.0'
49+
implementation 'androidx.core:core-ktx:1.12.0'
4450
implementation 'androidx.appcompat:appcompat:1.6.1'
45-
implementation 'com.google.android.material:material:1.5.0-alpha04'
51+
implementation 'com.google.android.material:material:1.11.0'
4652
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
47-
implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3'
48-
implementation 'androidx.navigation:navigation-ui-ktx:2.5.3'
53+
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.7'
54+
implementation 'androidx.navigation:navigation-ui-ktx:2.7.7'
55+
implementation 'androidx.lifecycle:lifecycle-process:2.7.0'
4956
testImplementation 'junit:junit:4.13.2'
5057
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
5158
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
5259

5360
// Set up the location feature dependency
54-
implementation 'com.google.android.gms:play-services-location:21.0.1'
61+
implementation 'com.google.android.gms:play-services-location:21.1.0'
5562

5663
// GSON dependency
57-
implementation 'com.google.code.gson:gson:2.8.5'
64+
implementation 'com.google.code.gson:gson:2.10'
5865

5966
// Places API
60-
implementation 'com.google.android.libraries.places:places:3.2.0'
61-
}
67+
implementation 'com.google.android.libraries.places:places:3.3.0'
68+
69+
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1")
70+
71+
// Camera + Tensorflow
72+
implementation("androidx.camera:camera-core:1.3.1")
73+
implementation("androidx.camera:camera-camera2:1.3.1")
74+
implementation("androidx.camera:camera-lifecycle:1.3.1")
75+
implementation("androidx.camera:camera-video:1.3.1")
76+
77+
implementation("androidx.camera:camera-view:1.3.1")
78+
implementation("androidx.camera:camera-extensions:1.3.1")
79+
80+
implementation("org.tensorflow:tensorflow-lite-task-vision:0.4.0")
81+
implementation("org.tensorflow:tensorflow-lite-gpu-delegate-plugin:0.4.0")
82+
implementation("org.tensorflow:tensorflow-lite-gpu:2.9.0")
83+
84+
// Camera UI
85+
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0")
86+
//mlkit
87+
implementation 'com.google.mlkit:barcode-scanning:17.2.0'
88+
89+
//it.jsoup
90+
implementation "org.jsoup:jsoup:1.14.3"
91+
}

app/src/main/AndroidManifest.xml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66

77
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
88
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
9-
9+
<uses-permission android:name="android.permission.VIBRATE" />
10+
<uses-feature
11+
android:name="android.hardware.camera"
12+
android:required="false" />
13+
<uses-permission android:name="android.permission.CAMERA" />
1014
<application
1115
android:allowBackup="true"
1216
android:dataExtractionRules="@xml/data_extraction_rules"
@@ -43,7 +47,11 @@
4347
android:name=".activities.PlaceDetailsActivity" />
4448
<activity
4549
android:name=".activities.SettingsActivity"/>
46-
50+
<activity
51+
android:name=".activities.ClassificationActivity"/>
52+
<service
53+
android:name=".viewmodels.ConstantScanning"
54+
android:exported="false" />
4755
</application>
4856

49-
</manifest>
57+
</manifest>
3.99 MB
Binary file not shown.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.nlinterface.activities
2+
3+
import android.content.pm.PackageManager
4+
import android.os.Bundle
5+
import androidx.appcompat.app.AppCompatActivity
6+
import androidx.core.content.ContextCompat
7+
import android.Manifest
8+
import android.content.ContentValues.TAG
9+
import android.util.Log
10+
import androidx.camera.core.AspectRatio
11+
import androidx.camera.core.CameraSelector
12+
import androidx.camera.core.ImageAnalysis
13+
import androidx.camera.core.Preview
14+
import androidx.camera.lifecycle.ProcessCameraProvider
15+
import androidx.core.app.ActivityCompat
16+
import com.nlinterface.databinding.ActivityClassificationBinding
17+
import com.nlinterface.databinding.FragmentCameraBinding
18+
import com.nlinterface.utility.ObjectDetectorHelper
19+
20+
class ClassificationActivity: AppCompatActivity() {
21+
22+
private lateinit var viewBinding: ActivityClassificationBinding
23+
override fun onCreate(savedInstanceState: Bundle?) {
24+
super.onCreate(savedInstanceState)
25+
if(!hasCameraPermission()) {
26+
ActivityCompat.requestPermissions(
27+
this, arrayOf(Manifest.permission.CAMERA), 0
28+
)
29+
}
30+
31+
viewBinding = ActivityClassificationBinding.inflate(layoutInflater)
32+
setContentView(viewBinding.root)
33+
}
34+
35+
private fun hasCameraPermission() = ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED
36+
37+
38+
}

0 commit comments

Comments
 (0)