Skip to content
This repository has been archived by the owner on Sep 9, 2020. It is now read-only.

Basic com.google.android.gms.vision.barcode and com.google.firebase.ml.vision.barcode support #14

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
68 changes: 68 additions & 0 deletions play-services-vision-api/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*
* Copyright 2013-2015 microG Project Team
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

apply plugin: 'com.android.library'

String getMyVersionName() {
def stdout = new ByteArrayOutputStream()
if (rootProject.file("gradlew").exists())
exec { commandLine 'git', 'describe', '--tags', '--always', '--dirty'; standardOutput = stdout }
else // automatic build system, don't tag dirty
exec { commandLine 'git', 'describe', '--tags', '--always'; standardOutput = stdout }
return stdout.toString().trim().substring(1)
}

group = 'org.microg'
version = getMyVersionName()

android {
compileSdkVersion androidCompileSdk()
buildToolsVersion "$androidBuildVersionTools"

aidlPackageWhiteList "com/google/android/gms/vision/BarcodeDetectorOptions.aidl"
aidlPackageWhiteList "com/google/android/gms/vision/INativeBarcodeDetectorCreator.aidl"
aidlPackageWhiteList "com/google/android/gms/vision/INativeBarcodeDetector.aidl"

defaultConfig {
versionName getMyVersionName()
minSdkVersion androidMinSdk()
targetSdkVersion androidTargetSdk()
}

testOptions {
unitTests {
includeAndroidResources = true
}
}

dependencies {
testImplementation 'junit:junit:4.12'
testImplementation "com.google.truth:truth:1.0.1"
testImplementation 'org.robolectric:robolectric:4.3'
}


compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

dependencies {
api project(':play-services-basement')
implementation 'com.google.zxing:android-core:3.3.0'
implementation 'com.google.zxing:core:3.3.0'
}
34 changes: 34 additions & 0 deletions play-services-vision-api/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#
# Copyright 2013-2016 microG Project Team
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

POM_NAME=Play Services Internal Vision API
POM_DESCRIPTION=Interfaces and objects for IPC between Play Services Library and Play Services Core

POM_PACKAGING=aar

POM_URL=https://github.com/microg/android_external_GmsApi

POM_SCM_URL=https://github.com/microg/android_external_GmsApi
POM_SCM_CONNECTION=scm:[email protected]:microg/android_external_GmsApi.git
POM_SCM_DEV_CONNECTION=scm:[email protected]:microg/android_external_GmsApi.git

POM_LICENCE_NAME=The Apache Software License, Version 2.0
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENCE_DIST=repo

POM_DEVELOPER_ID=mar-v-in
POM_DEVELOPER_NAME=Marvin W

18 changes: 18 additions & 0 deletions play-services-vision-api/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2020 microG Project Team
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<manifest package="org.microg.gms.vision.api"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package com.google.android.gms.vision.barcode.internal.client;

parcelable Barcode;
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package com.google.android.gms.vision.barcode.internal.client;

parcelable BarcodeDetectorOptions;
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package com.google.android.gms.vision.barcode.internal.client;

parcelable FrameMetadata;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.google.android.gms.vision.barcode.internal.client;

import com.google.android.gms.vision.barcode.internal.client.BarcodeDetectorOptions;
import com.google.android.gms.vision.barcode.internal.client.FrameMetadata;
import com.google.android.gms.vision.barcode.internal.client.Barcode;
import com.google.android.gms.dynamic.IObjectWrapper;

interface INativeBarcodeDetector {
void unk0(IObjectWrapper byteBuffer, in FrameMetadata metadata) = 0;
Barcode[] detect(IObjectWrapper bitmap, in FrameMetadata metadata) = 1;
// Probably wraps a ByteBuffer? but is otherwise the same functionality?
void unk2(IObjectWrapper unk1, in FrameMetadata metadata) = 2;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.google.android.gms.vision.barcode.internal.client;

import com.google.android.gms.vision.barcode.internal.client.BarcodeDetectorOptions;
import com.google.android.gms.vision.barcode.internal.client.INativeBarcodeDetector;
import com.google.android.gms.dynamic.IObjectWrapper;

interface INativeBarcodeDetectorCreator {
// unk is probably Context
INativeBarcodeDetector create(IObjectWrapper unk, in BarcodeDetectorOptions options) = 0;
}
Loading