new build

This commit is contained in:
amauri 2024-02-22 11:41:35 +01:00
commit 37434140d2
227 changed files with 977 additions and 0 deletions

275
README.md Normal file
View File

@ -0,0 +1,275 @@
Android SDK
===================
## Table of Contents
- [Import](#import)
- [Installation](#installation)
- [Project](#project)
- [Settings](#settings)
- [App](#app)
- [Add fragment](#fragment)
- [Troubleshooting](#troubleshooting)
- [Authors](#authors)
<a name="import"></a>
## Import
You must use git to download the sdk from [repository](https://github.com/tecnaviapress/newsmemory-android-sdk)
1. The repository is private, to clone it you must generate an ssh key, see the [guide](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
2. Once the key is generate you must send to Tecnavia the public key and wait a confirmation that you are enabled
3. Inside root folder run the following command, replace TAG with the latest release, see the list on [releases](https://github.com/tecnaviapress/newsmemory-android-sdk/releases)
```sh
git clone --depth 1 --brach TAG git@github.com:tecnaviapress/newsmemory-android-sdk.git
```
4. if you already has the module you could update to another release by the following commands
```sh
cd newsmemory-android-sdk
git checkout tags/TAG
```
<a name="installation"></a>
## Installation
<a name="project"></a>
### Project Gradle
1. check main gradle repositories and dependencies
```java
buildscript {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath "com.android.tools.build:gradle:4.2.2"
classpath "com.google.gms:google-services:4.3.4"
//add crashlytics only if the aar file is included
classpath "com.google.firebase:firebase-crashlytics-gradle:2.3.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0"
}
//If photodraweeview:1.1.3 for some reason is not available from Maven force this version
configurations.all {
resolutionStrategy {
force "me.relex:photodraweeview:2.1.0"
}
}
}
allprojects {
repositories {
google()
mavenCentral()
mavenLocal()
gradlePluginPortal()
maven {
url "https://jitpack.io"
}
}
}
```
2. if you are using sdk for amazon and it is built for it add the following maven repository
```java
maven {
url "https://s3.amazonaws.com/android-listener/mvn-repo"
}
```
3. you could customize all dependencies version by updating the following variables, !pay attention, because the sdk may not starts or works properly add these variables to ext object in main gradle file, see below example.
| variable | default | Description |
|:---------------------------------- |:-------:|:-------------------------------------------------------------- |
| compileSdk | 33 | |
| targetSdk | 33 | |
| minSdk | 24 | |
| frescoVersion | 2.5.0 | used by react native to display some images |
| soLoaderVersion | 0.10.1 | used to load needed system native libraries |
| okHttpVersion | 4.9.2 | |
| glideVersion | 4.12.0 | |
| kotlinGradleVersion | 1.5.0 | |
| kotlinVersion | 1.4.0 | |
| webkitVersion | 1.4.0 | |
| androidxVersion | 1.5.0 | |
| androidxWorkRuntimeVersion | 1.5.0 | |
| androidxAnnotationVersion | 1.4.0 | |
| androidxViewpager2Version | 1.0.0 | |
| androidxFragmentVersion | 1.4.1 | |
| androidxBrowserVersion | 1.4.0 | |
| androidxTransitionVersion | 1.1.0 | |
| androidxCoordinatorlayoutVersion | 1.1.0 | |
| androidxSwiperefreshlayoutVersion | 1.0.0 | |
| androidxAppcompatVersion | 1.0.2 | |
| androidxLegacySupportVersion | 1.0.0 | |
| playServiceiidVersion | 17.0.0 | |
| playServiceBaseVersion | 18.0.1 | |
| **The following variables are used if you include on of the optional library listed in description** |
| playServiceAnalyticsVersion | 18.0.1 | react-native-google-analytics-bridge |
| playServiceAdsVersion | 20.2.0 | react-native-prebid, react-native-dfp, react-native-admob |
| playServiceMapsVersion | 17.0.0 | react-native-maps |
| playBillingVersion | 5.0.0 | react-native-iap for google |
| amazonSdkVersion | 3.0.3 | react-native-iap for amazon |
```java
ext {
compileSdk 34
androidxVersion "1.4.0"
...
}
```
<a name="settings"></a>
### Settings Gradle
```java
include ':newsmemory-android-sdk'
```
<a name="app"></a>
### App Gradle
add the following lines if missing
```java
plugin: "com.android.application"
apply plugin: "com.google.gms.google-services"
//add crashlytics only if the aar file is included
apply plugin: 'com.google.firebase.crashlytics'
android{
...
defaultConfig {
...
//This line is required by react-native-iap, not included by default
missingDimensionStrategy "store", "play"
}
...
packagingOptions {
pickFirst "lib/x86/libc++_shared.so"
pickFirst "lib/x86_64/libc++_shared.so"
pickFirst "lib/arm64-v8a/libc++_shared.so"
pickFirst "lib/armeabi-v7a/libc++_shared.so"
}
}
dependencies{
implementation project(":newsmemory-android-sdk")
...
}
```
<a name="fragment"></a>
## Add fragment to activity
```java
public class YourActivity extends AppCompatActivity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TaFragment fragment = new TaFragment()
.setDelegate(new TaFragmentDelegate() {
@Override
public void recreate() {
recreate();
}
@Override
public boolean isActionModeVisible() {
return false;
}
@Override
public boolean handleClose(){
//TODO implement it and return true if you consume the event
return false;
}
@Override
public boolean handleOpenUrl(String url){
//TODO implement it and return true if you consume the event
return false;
}
@Override
public boolean handleTrackAction(Bundle data){
//TODO implement it and return true if you consume the event
return false;
}
})
.setBuildProps(getBuildProps());
getSupportFragmentManager()
.beginTransaction()
.add(R.id.rnFragment, fragment)
.commit();
}
public Bundle getBuildProps() {
Bundle bundle = new Bundle();
bundle.putString(TaConstants.TA_PSETUP, "replace_with_psetup");
bundle.putString(TaConstants.TA_MACHINE, "replace_with_server");
bundle.putString(TaConstants.TA_LOCALE, "en");
//the value inside R.string will be avilable after first build
bundle.putString(TaConstants.TA_APP_VERSION_NAME, getString(com.tecnavia.sdk.R.string.APP_VERSION_NAME));
bundle.putString(TaConstants.TA_APP_VERSION_CODE, getString(com.tecnavia.sdk.R.string.APP_VERSION_CODE));
bundle.putString(TaConstants.TA_ANDROID_APP_ID,getString(com.tecnavia.sdk.R.string.ANDROID_APP_ID));
bundle.putString(TaConstants.TA_APP_NAME, getString(com.tecnavia.sdk.R.string.APP_NAME));
//must be true otherwise the module doesn't work in SDK mode
bundle.putBoolean(TaConstants.TA_IS_ADDON, true);
bundle.putString(TaConstants.TA_API_KEY, "Required to be authorized");
return bundle;
}
}
```
the following constant is required by SDK to be authorized
```java
bundle.putString(TaConstants.TA_API_KEY, "");
```
the following constants are required by SDK otherwise there will be some inconsinstecies and bugs
```java
bundle.putString(TaConstants.TA_APP_VERSION_NAME, getString(com.tecnavia.sdk.R.string.APP_VERSION_NAME));
bundle.putString(TaConstants.TA_APP_VERSION_CODE, getString(com.tecnavia.sdk.R.string.APP_VERSION_CODE));
bundle.putString(TaConstants.TA_ANDROID_APP_ID,getString(com.tecnavia.sdk.R.string.ANDROID_APP_ID));
bundle.putString(TaConstants.TA_APP_NAME, getString(com.tecnavia.sdk.R.string.APP_NAME));
bundle.putBoolean(TaConstants.TA_IS_ADDON, true);
```
1. The activity that load TaFragment must implement the following interface *DefaultHardwareBackBtnHandler*
```java
public class YourActivity extends AppCompatActivity implements DefaultHardwareBackBtnHandler {
...
@Override
public void invokeDefaultOnBackPressed() {
//TODO handle finish
}
}
```
2. you could extends activity class with TaActivity that already has an implementation of *DefaultHardwareBackBtnHandler* but also add some other methods to force locale.
```java
public class YourActivity extends TaActivity {
...
}
```
## Troubleshooting
1. if you have some build issues related to google play services versions you could add the following setting to build.gradle
```java
android {
...
googleServices {
disableVersionCheck = true
}
...
}
```
2. if you have the following error during the build `Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module`
add `--add-opens=java.base/java.io=ALL-UNNAMED` option to `org.gradle.jvmargs` entry in `gradle.properties`
```
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 --add-opens=java.base/java.io=ALL-UNNAMED
```
## Authors
Nicolò Aquilini, iOS Software developer, Tecnavia
Andrea Mauri, Android Software developer, Tecnavia

629
build.gradle Normal file
View File

@ -0,0 +1,629 @@
buildscript {
def kotlinGradleVersion = rootProject.ext.has("kotlinGradleVersion") ? rootProject.ext.get("kotlinGradleVersion") : "1.5.0"
if(rootProject == project) {
repositories {
google()
mavenCentral()
gradlePluginPortal()
/*maven {
url "https://s3.amazonaws.com/android-listener/mvn-repo"
}*/
}
dependencies {
classpath "com.android.tools.build:gradle:4.2.2"
classpath "com.google.gms:google-services:4.3.4"
//use the version suggested by react-native-firebase
//classpath "com.google.firebase:firebase-crashlytics-gradle:2.3.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinGradleVersion"
}
} else {
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinGradleVersion"
}
}
}
apply plugin: 'com.android.library'
apply plugin: 'maven-publish'
apply plugin: 'kotlin-android'
def safeExtGet(prop, fallback) {
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}
publishing {
publications {
tareactnativeandroidopensettings(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-android-open-settings'
version '1.3.0'
artifact("$libsDirName/react-native-android-open-settings-release.aar")
}
tareactnativeappsettings(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-app-settings'
version '2.0.1'
artifact("$libsDirName/react-native-app-settings-release.aar")
}
tareactnativeasyncstorageasyncstorage(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-async-storage_async-storage'
version '1.17.9'
artifact("$libsDirName/react-native-async-storage_async-storage-release.aar")
}
tareactnativecolormatriximagefilters(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-color-matrix-image-filters'
version '5.2.10'
artifact("$libsDirName/react-native-color-matrix-image-filters-release.aar")
}
tareactnativecommunityart(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-community_art'
version '1.2.0'
artifact("$libsDirName/react-native-community_art-release.aar")
}
tareactnativecommunitydatetimepicker(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-community_datetimepicker'
version '6.7.5'
artifact("$libsDirName/react-native-community_datetimepicker-release.aar")
}
tareactnativecommunityimageeditor(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-community_image-editor'
version '2.3.0'
artifact("$libsDirName/react-native-community_image-editor-release.aar")
}
tareactnativecommunitynetinfo(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-community_netinfo'
version '5.9.10'
artifact("$libsDirName/react-native-community_netinfo-release.aar")
}
tareactnativecommunityslider(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-community_slider'
version '2.0.9'
artifact("$libsDirName/react-native-community_slider-release.aar")
}
tareactnativeconfig(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-config'
version '1.4.11'
artifact("$libsDirName/react-native-config-release.aar")
}
tareactnativecookiescookies(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-cookies_cookies'
version '6.2.0'
artifact("$libsDirName/react-native-cookies_cookies-release.aar")
}
tareactnativedarkmode(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-dark-mode'
version '0.2.2'
artifact("$libsDirName/react-native-dark-mode-release.aar")
}
tareactnativedeviceinfo(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-device-info'
version '8.7.1'
artifact("$libsDirName/react-native-device-info-release.aar")
}
tareactnativedynamicfonts(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-dynamic-fonts'
version '0.3.2'
artifact("$libsDirName/react-native-dynamic-fonts-release.aar")
}
tareactnativefastimage(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-fast-image'
version '8.5.11'
artifact("$libsDirName/react-native-fast-image-release.aar")
}
tareactnativefs(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-fs'
version '2.20.0'
artifact("$libsDirName/react-native-fs-release.aar")
}
tareactnativegesturehandler(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-gesture-handler'
version '1.10.3'
artifact("$libsDirName/react-native-gesture-handler-release.aar")
}
tareactnativeiapplay(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-iap-play'
version '12.4.0'
artifact("$libsDirName/react-native-iap-play-release.aar")
}
tareactnativeiapamazon(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-iap-amazon'
version '12.4.0'
artifact("$libsDirName/react-native-iap-amazon-release.aar")
}
tareactnativeidletimer(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-idle-timer'
version '2.1.6'
artifact("$libsDirName/react-native-idle-timer-release.aar")
}
tareactnativeimagemarker(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-image-marker'
version '0.9.2'
artifact("$libsDirName/react-native-image-marker-release.aar")
}
tareactnativelineargradient(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-linear-gradient'
version '2.8.3'
artifact("$libsDirName/react-native-linear-gradient-release.aar")
}
tareactnativemail(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-mail'
version '6.1.1'
artifact("$libsDirName/react-native-mail-release.aar")
}
tareactnativepagerview(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-pager-view'
version '6.1.4'
artifact("$libsDirName/react-native-pager-view-release.aar")
}
tareactnativephotoviewex(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-photo-view-ex'
version '1.1.0'
artifact("$libsDirName/react-native-photo-view-ex-release.aar")
}
tareactnativereanimated(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-reanimated'
version '1.13.3'
artifact("$libsDirName/react-native-reanimated-release.aar")
}
tareactnativesafeareacontext(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-safe-area-context'
version '3.3.2'
artifact("$libsDirName/react-native-safe-area-context-release.aar")
}
tareactnativescreens(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-screens'
version '3.13.1'
artifact("$libsDirName/react-native-screens-release.aar")
}
tareactnativeshare(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-share'
version '7.9.1'
artifact("$libsDirName/react-native-share-release.aar")
}
tareactnativesplashscreen(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-splash-screen'
version '3.2.0'
artifact("$libsDirName/react-native-splash-screen-release.aar")
}
tareactnativesqlitestorage(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-sqlite-storage'
version '3.3.10'
artifact("$libsDirName/react-native-sqlite-storage-release.aar")
}
tareactnativesvg(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-svg'
version '12.1.0'
artifact("$libsDirName/react-native-svg-release.aar")
}
tareactnativetecnaviautils(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-tecnavia-utils'
version '1.1.0'
artifact("$libsDirName/react-native-tecnavia-utils-release.aar")
}
tareactnativetextsize(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-text-size'
version '3.0.0'
artifact("$libsDirName/react-native-text-size-release.aar")
}
tareactnativetts(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-tts'
version '4.1.0'
artifact("$libsDirName/react-native-tts-release.aar")
}
tareactnativeuuidgenerator(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-uuid-generator'
version '6.1.1'
artifact("$libsDirName/react-native-uuid-generator-release.aar")
}
tareactnativevectoricons(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-vector-icons'
version '8.1.0'
artifact("$libsDirName/react-native-vector-icons-release.aar")
}
tareactnativeviafoura(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-viafoura'
version '1.0.1'
artifact("$libsDirName/react-native-viafoura-release.aar")
}
tareactnativevideo(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-video'
version '5.1.1'
artifact("$libsDirName/react-native-video-release.aar")
}
tareactnativevolumecontrol(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-volume-control'
version '1.0.1'
artifact("$libsDirName/react-native-volume-control-release.aar")
}
tareactnativewebview(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native-webview'
version '11.17.2'
artifact("$libsDirName/react-native-webview-release.aar")
}
tarnfetchblob(MavenPublication) {
groupId 'tecnavia'
artifactId 'rn-fetch-blob'
version '0.11.2'
artifact("$libsDirName/rn-fetch-blob-release.aar")
}
tatecnaviareactnativebridge(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-bridge'
version '1.2.12'
artifact("$libsDirName/tecnavia_react-native-bridge-release.aar")
}
tatecnaviareactnativedailymotionsdk(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-dailymotion-sdk'
version '1.1.0'
artifact("$libsDirName/tecnavia_react-native-dailymotion-sdk-release.aar")
}
tatecnaviareactnativedefaultpreference(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-default-preference'
version '1.5.0'
artifact("$libsDirName/tecnavia_react-native-default-preference-release.aar")
}
tatecnaviareactnativedfp(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-dfp'
version '1.3.1'
artifact("$libsDirName/tecnavia_react-native-dfp-release.aar")
}
tatecnaviareactnativegeolocation(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-geolocation'
version '3.0.1'
artifact("$libsDirName/tecnavia_react-native-geolocation-release.aar")
}
tatecnaviareactnativenavigationbarcolor(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-navigation-bar-color'
version '2.0.2'
artifact("$libsDirName/tecnavia_react-native-navigation-bar-color-release.aar")
}
tatecnaviareactnativepdf(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-pdf'
version '5.1.6'
artifact("$libsDirName/tecnavia_react-native-pdf-release.aar")
}
tatecnaviareactnativeprint(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-print'
version '0.6.1'
artifact("$libsDirName/tecnavia_react-native-print-release.aar")
}
tatecnaviareactnativeziparchive(MavenPublication) {
groupId 'tecnavia'
artifactId 'tecnavia_react-native-zip-archive'
version '5.2.0'
artifact("$libsDirName/tecnavia_react-native-zip-archive-release.aar")
}
tareactnative(MavenPublication) {
groupId 'tecnavia'
artifactId 'react-native'
version '0.67.5'
artifact("$libsDirName/react-native-release.aar")
}
tahermes(MavenPublication) {
groupId 'tecnavia'
artifactId 'hermes'
version '1.0.0'
artifact("$libsDirName/hermes-release.aar")
}
}
}
afterEvaluate {
tasks.clean.dependsOn("publishToMavenLocal")
tasks.preBuild.dependsOn("publishToMavenLocal")
}
android {
compileSdkVersion safeExtGet("compileSdkVersion", "33").toInteger()
defaultConfig {
targetSdkVersion safeExtGet("targetSdkVersion", "33").toInteger()
minSdkVersion safeExtGet("minSdkVersion", "24").toInteger()
versionName APP_VERSION_NAME
}
flavorDimensions "store"
productFlavors {
amazon {
dimension "store"
}
play {
dimension "store"
}
huawei {
dimension "store"
}
}
lintOptions {
abortOnError false
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
buildTypes.each {
it.resValue 'string', 'APP_NAME', APP_NAME
it.resValue 'string', 'APP_VERSION_NAME', APP_VERSION_NAME
it.resValue 'string', 'APP_VERSION_CODE', APP_VERSION_CODE
it.resValue 'string', 'ANDROID_APP_ID', ANDROID_APP_ID
it.resValue 'string', 'IS_ADDON', IS_ADDON
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
repositories {
mavenCentral()
mavenLocal()
}
def frescoVersion = safeExtGet("frescoVersion", "2.5.0")
def soLoaderVersion = safeExtGet("soLoaderVersion","0.10.1")
def okHttpVersion = safeExtGet("okHttpVersion", "4.9.2")
def glideVersion = safeExtGet("glideVersion", "4.12.0")
def kotlinVersion = safeExtGet("kotlinVersion", "1.4.0")
def webkitVersion = safeExtGet("webkitVersion", "1.4.0")
def androidxVersion = safeExtGet("androidxVersion", "1.5.0")
def androidxWorkRuntimeVersion = safeExtGet("androidxWorkRuntimeVersion", "2.7.0")
def androidxAnnotationVersion = safeExtGet("androidxAnnotationVersion", "1.4.0")
def androidxViewpager2Version = safeExtGet("androidxViewpager2Version", "1.0.0")
def androidxFragmentVersion = safeExtGet("androidxFragmentVersion", "1.4.1")
def androidxBrowserVersion = safeExtGet("androidxBrowserVersion", "1.4.0")
def androidxTransitionVersion = safeExtGet("androidxTransitionVersion", "1.1.0")
def androidxCoordinatorlayoutVersion = safeExtGet("androidxCoordinatorlayoutVersion", "1.1.0")
def androidxSwiperefreshlayoutVersion = safeExtGet("androidxSwiperefreshlayoutVersion", "1.0.0")
def androidxAppcompatVersion = safeExtGet("androidxAppcompatVersion", "1.0.2")
def androidxLegacySupportVersion = safeExtGet("androidxLegacySupportVersion", "1.0.0")
def playServiceiidVersion = safeExtGet("playServiceiidVersion", "17.0.0")
def playServiceBaseVersion = safeExtGet("playServiceBaseVersion", "18.0.1")
def playServiceAnalyticsVersion = safeExtGet("playServiceAnalyticsVersion", "18.0.1")
def playServiceAdsVersion = safeExtGet("playServiceAdsVersion", "20.2.0")
def playServiceMapsVersion = safeExtGet("playServiceMapsVersion", "17.0.0")
def playBillingVersion = safeExtGet("playBillingVersion", "5.0.0")
def amazonSdkVersion = safeExtGet("amazonSdkVersion", "3.0.3")
dependencies {
implementation "tecnavia:react-native-android-open-settings:1.3.0"
implementation "tecnavia:react-native-app-settings:2.0.1"
implementation "tecnavia:react-native-async-storage_async-storage:1.17.9"
implementation "tecnavia:react-native-color-matrix-image-filters:5.2.10"
implementation "tecnavia:react-native-community_art:1.2.0"
implementation "tecnavia:react-native-community_datetimepicker:6.7.5"
implementation "tecnavia:react-native-community_image-editor:2.3.0"
implementation "tecnavia:react-native-community_netinfo:5.9.10"
implementation "tecnavia:react-native-community_slider:2.0.9"
implementation "tecnavia:react-native-config:1.4.11"
implementation "tecnavia:react-native-cookies_cookies:6.2.0"
implementation "tecnavia:react-native-dark-mode:0.2.2"
implementation "tecnavia:react-native-device-info:8.7.1"
implementation "tecnavia:react-native-dynamic-fonts:0.3.2"
implementation "tecnavia:react-native-fast-image:8.5.11"
implementation "tecnavia:react-native-fs:2.20.0"
implementation "tecnavia:react-native-gesture-handler:1.10.3"
playImplementation "tecnavia:react-native-iap-play:12.4.0"
amazonImplementation "tecnavia:react-native-iap-amazon:12.4.0"
implementation "tecnavia:react-native-idle-timer:2.1.6"
implementation "tecnavia:react-native-image-marker:0.9.2"
implementation "tecnavia:react-native-linear-gradient:2.8.3"
implementation "tecnavia:react-native-mail:6.1.1"
implementation "tecnavia:react-native-pager-view:6.1.4"
implementation "tecnavia:react-native-photo-view-ex:1.1.0"
implementation "tecnavia:react-native-reanimated:1.13.3"
implementation "tecnavia:react-native-safe-area-context:3.3.2"
implementation "tecnavia:react-native-screens:3.13.1"
implementation "tecnavia:react-native-share:7.9.1"
implementation "tecnavia:react-native-splash-screen:3.2.0"
implementation "tecnavia:react-native-sqlite-storage:3.3.10"
implementation "tecnavia:react-native-svg:12.1.0"
implementation "tecnavia:react-native-tecnavia-utils:1.1.0"
implementation "tecnavia:react-native-text-size:3.0.0"
implementation "tecnavia:react-native-tts:4.1.0"
implementation "tecnavia:react-native-uuid-generator:6.1.1"
implementation "tecnavia:react-native-vector-icons:8.1.0"
implementation "tecnavia:react-native-viafoura:1.0.1"
implementation "tecnavia:react-native-video:5.1.1"
implementation "tecnavia:react-native-volume-control:1.0.1"
implementation "tecnavia:react-native-webview:11.17.2"
implementation "tecnavia:rn-fetch-blob:0.11.2"
api "tecnavia:tecnavia_react-native-bridge:1.2.12"
implementation "tecnavia:tecnavia_react-native-dailymotion-sdk:1.1.0"
implementation "tecnavia:tecnavia_react-native-default-preference:1.5.0"
implementation "tecnavia:tecnavia_react-native-dfp:1.3.1"
implementation "tecnavia:tecnavia_react-native-geolocation:3.0.1"
implementation "tecnavia:tecnavia_react-native-navigation-bar-color:2.0.2"
implementation "tecnavia:tecnavia_react-native-pdf:5.1.6"
implementation "tecnavia:tecnavia_react-native-print:0.6.1"
implementation "tecnavia:tecnavia_react-native-zip-archive:5.2.0"
api "tecnavia:react-native:0.67.5"
implementation "tecnavia:hermes:1.0.0"
//the below dependencies works, if you change the versions something could not work well
implementation "org.webkit:android-jsc:+"
//androidx dependencies
implementation "javax.inject:javax.inject:1"
implementation "androidx.autofill:autofill:1.1.0"
implementation "androidx.legacy:legacy-support-v4:1.0.0"
implementation "androidx.viewpager2:viewpager2:$androidxViewpager2Version"
implementation "androidx.work:work-runtime-ktx:$androidxWorkRuntimeVersion"
implementation "androidx.appcompat:appcompat:$androidxAppcompatVersion"
implementation "androidx.swiperefreshlayout:swiperefreshlayout:$androidxSwiperefreshlayoutVersion"
implementation "androidx.webkit:webkit:$webkitVersion"
implementation "androidx.fragment:fragment:$androidxFragmentVersion"
implementation "androidx.core:core-ktx:$androidxVersion"
implementation "androidx.transition:transition:$androidxTransitionVersion"
implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorlayoutVersion"
implementation "androidx.core:core:$androidxVersion"
implementation "androidx.annotation:annotation:$androidxAnnotationVersion" //used by iap
implementation "androidx.browser:browser:$androidxBrowserVersion" //used by iap
annotationProcessor "com.android.support:support-annotations:28.0.0"
//build dependencies
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
//facebook react-native dependencies
implementation "com.facebook.infer.annotation:infer-annotation:0.18.0"
implementation "com.facebook.yoga:proguard-annotations:1.19.0"
implementation "com.facebook.fresco:fresco:$frescoVersion"
implementation "com.facebook.fresco:imagepipeline-okhttp3:$frescoVersion"
implementation "com.facebook.fresco:ui-common:$frescoVersion"
implementation "com.facebook.soloader:soloader:$soLoaderVersion"
implementation "com.facebook.fbjni:fbjni-java-only:0.2.2"
//google dependencies
implementation "com.google.code.findbugs:jsr305:3.0.2"
implementation "com.google.code.gson:gson:2.8.5"
//used by react-native-device-info package
//update core with the same values in react-native-firebase
implementation "com.google.android.gms:play-services-iid:$playServiceiidVersion"
//used by react-native-maps and react-native-iap packages
//update core with the same values in react-native-firebase
implementation "com.google.android.gms:play-services-base:$playServiceBaseVersion"
//used by react-native-google-analytics-bridge ga3
//try to use the same version of firebase-core
//use the same version of play-services-analytics
//used by react-native-prebid, react-native-admob and react-native-dfp packages
implementation "com.google.android.gms:play-services-ads:$playServiceAdsVersion"
//used by react-native-maps package
//used by @firebase/app
implementation "com.android.billingclient:billing-ktx:$playBillingVersion"
implementation "com.amazon.device:amazon-appstore-sdk:$amazonSdkVersion"
//firebase
//okhttp
implementation "com.squareup.okhttp3:okhttp:$okHttpVersion"
implementation "com.squareup.okhttp3:okhttp-urlconnection:$okHttpVersion"
implementation "com.squareup.okio:okio:2.9.0"
//glide dependencies
implementation "com.github.bumptech.glide:annotations:$glideVersion"
implementation "com.github.bumptech.glide:glide:$glideVersion"
implementation "com.github.bumptech.glide:okhttp3-integration:$glideVersion"
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"
//others
implementation "net.lingala:zip4j:1.3.3"
implementation "com.jakewharton.timber:timber:4.7.1"
implementation "me.relex:photodraweeview:1.1.3"
implementation "com.yqritc:android-scalablevideoview:1.0.4"
}

7
gradle.properties Normal file
View File

@ -0,0 +1,7 @@
android.useAndroidX=true
APP_NAME=Android SDK
APP_VERSION_NAME=3.10.03
APP_VERSION_CODE=1708598410889
ANDROID_APP_ID=com.tecnaviaapplication
IS_ADDON=true

BIN
libs/hermes-release.aar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,8 @@
<!-- tecnavia manifest template -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tecnavia.sdk">
<application>
<!-- we need it if there are google ad manager -->
<meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true"/>
</application>
</manifest>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,58 @@
com.facebook.react.shell.MainReactPackage
com.rtmalone.volumecontrol.RNVolumeControlPackage
com.levelasquez.androidopensettings.AndroidOpenSettingsPackage
com.krazylabs.OpenAppSettingsPackage
com.chirag.RNMail.RNMail
net.no_mad.tts.TextToSpeechPackage
com.idehub.GoogleAnalyticsBridge.GoogleAnalyticsBridgePackage
com.lugg.ReactNativeConfig.ReactNativeConfigPackage
org.pgsqlite.SQLitePluginPackage
com.swmansion.gesturehandler.react.RNGestureHandlerPackage
com.prebidlibrary.RNPrebidPackage
com.oblador.vectoricons.VectorIconsPackage
com.reactcommunity.rndatetimepicker.RNDateTimePickerPackage
com.reactnativecommunity.asyncstorage.AsyncStoragePackage
com.reactnativecommunity.art.ARTPackage
com.reactnativecommunity.imageeditor.ImageEditorPackage
com.reactnativecommunity.netinfo.NetInfoPackage
com.reactnativecommunity.slider.ReactSliderPackage
com.reactnativecommunity.cookies.CookieManagerPackage
com.tecnavia.firebaseanalytics.FirebaseAnalyticsPackage
com.tecnavia.firebase.crashlytics.ReactNativeFirebaseCrashlyticsPackage
io.invertase.firebase.admob.ReactNativeFirebaseAdmobPackage
co.work.rnadbmobile.RNADBMobilePackage
com.baronweather.RNBaronweatherPackage
com.tecnavia.tabridge.TaBridgePackage
com.tecnavia.utils.TaUtilsPackage
com.tecnavia.push.PushPackage
com.tecnavialibrary.comscore.ComscorePackage
com.tecnavia.dailymotion.sdk.ReactNativeDailymotionSdkPackage
iyegoroff.RNColorMatrixImageFilters.ColorMatrixImageFiltersPackage
com.codemotionapps.reactnativedarkmode.DarkModePackage
com.dfplibrary.RNDfpPackage
com.dylanvann.fastimage.FastImageViewPackage
com.facebook.reactnative.androidsdk.FBSDKPackage
com.christopherdro.htmltopdf.RNHTMLtoPDFPackage
com.dooboolab.RNIap.RNIapPackage
com.marcshilling.idletimer.IdleTimerPackage
com.BV.LinearGradient.LinearGradientPackage
com.airbnb.android.react.maps.MapsPackage
com.matejdr.matheranalytics.MatherAnalyticsPackage
de.bonify.reactnativematomo.MatomoPackage
net.nativo.reactsdk.RNNativoSdkPackage
com.geektime.rnonesignalandroid.ReactNativeOneSignalPackage
com.reactnativepagerview.PagerViewPackage
com.library.RCTPdfView
io.amarcruz.photoview.PhotoViewPackage
com.swmansion.reanimated.ReanimatedPackage
com.th3rdwave.safeareacontext.SafeAreaContextPackage
com.swmansion.rnscreens.RNScreensPackage
com.killserver.screenshotprev.RNScreenshotPreventPackage
cl.json.RNSharePackage
org.devio.rn.splashscreen.SplashScreenReactPackage
com.horcrux.svg.SvgPackage
com.viafouralibrary.ViafouraPackage
com.brentvatne.react.ReactVideoPackage
com.wenkesj.voice.VoicePackage
com.reactnativecommunity.webview.RNCWebViewPackage
com.RNFetchBlob.RNFetchBlobPackage

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

Some files were not shown because too many files have changed in this diff Show More