Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • R reveSaaSDocumentation
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Ifta
  • reveSaaSDocumentation
  • Wiki
  • Prepare your project

Last edited by Ifta Nov 13, 2019
Page history

Prepare your project

Step 0 : Add Reve SaaS module to your project

Collect artifactory_username and artifactory_password from Dhiman da and add them to your project level gradle file.

buildscript {
    ext.artifactory_username = 'USER_NAME'
    ext.artifactory_password = 'PASSWORD'
    repositories {
        google()
        jcenter()
        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'
    }
}

Add the following repositories to your project level gradle file

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url "http://maven.alalamin19.com:8081/artifactory/libs-release-local"
            credentials {
                username = "$artifactory_username"
                password = "$artifactory_password"
            }
        }
        maven { url 'https://maven.google.com/' }
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        maven { url "http://sdk.revechat.com:8081/artifactory/revechatsdk" }
        mavenCentral()
        maven {
            url 'http://www.idescout.com/maven/repo/'
            name 'IDEScout, Inc.'
        }
        maven { url 'https://jitpack.io' }
        maven{ url 'https://s3.amazonaws.com/repo.commonsware.com' }
    }
}

Now add the following dependancy in you app module gradle file

implementation 'com.revesoft.sdk:dialer:x.y.z'

Add tools:replace="android:allowBackup,android:theme,android:roundIcon" in <application/> tag of your manifest

Step 1 : You must use material theme in your project and must define the following colors

Add material branding files from the following repository http://git.iptelephony.revesoft.com/ifta/MaterialBrandingFiles

clone this repository to a empty folder. Copy all files to your values folder

Apply BrandLight theme in your application in your android manifest

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:name=".BaseApplication"
        tools:replace="android:allowBackup,android:theme,android:roundIcon"
        android:theme="@style/BrandLight">
   ....
   ....
</application>

Step 2 : Add the following packaging option in your build.gradle file under android.

android{
    .....
    packagingOptions {
        exclude 'LICENSE'
        exclude 'LICENSE.txt'
        exclude 'license'
        exclude 'license.txt'
        exclude 'NOTICE'
        exclude 'notice'
        exclude 'META­INF/ASL2.0'
        exclude 'META­INF/LICENSE'
        exclude 'META­INF/license'
        exclude 'META­INF/NOTICE'
        exclude 'META-INF/MANIFEST.MF'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'asm­license.txt'
        exclude 'META-INF/services/com.fasterxml.jackson.core.JsonFactory'
        exclude 'META-INF/services/com.fasterxml.jackson.core.ObjectCodec'
    }
}

If you already have packaging option you can add these to yours.

Step 3 : Enable data binding to your project. Add the following in your build.gradle file under android.

android{
    .....
    dataBinding {
        enabled = true
    }
}

Step 4 : Provide authority for file compression library in the SaaS.

Add the following provider in application tag of your manifest

<application>

    ....
        <provider
            android:name="com.iceteck.silicompressorr.provider.GenericFileProvider"
            android:authorities="${applicationId}.silli.provider"
            android:exported="false"
            android:grantUriPermissions="true"
            tools:replace="android:authorities">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/silli_provider_paths"
                tools:replace="android:resource" />
        </provider>
</application>

Step 5 : Add other providers

Add the following 2 providers in manifest used by the sdk

<application>

    ....
         <provider
            android:name="com.revesoft.itelmobiledialer.util.GenericFileProvider"
            android:authorities="${applicationId}.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths" />
         </provider>
</application>

Step 6 : Add firebase to your project

Step 7 : Add compileOptions in app module gradle under android tag

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

Step 8 : Enable multidex

android {
    ....
    defaultConfig {
        ...
        multiDexEnabled true
    }
    ....
}

Final step :

Create an application class and extend ReveSaaSApplication.

Declare the application class as name in your android manifest at application tag.

<application
        ...
        android:name=".BaseApplication"
        ...>
...
....
</application>

You must Override onCreate() and onTerminate() method.

Clone repository
  • Configure SaaS module
  • Firebase Messaging Service (Push Messaging)
  • Get chat backup restore to work
  • Get maps service to work
  • Opening Chat
  • Opening the SaaS dashboard
  • Prepare your project
  • Starting a Call
  • Starting the SaaS service
  • Home