Skip to content

Commit

Permalink
Merge pull request #36 from tarek360/fix/travis
Browse files Browse the repository at this point in the history
fix travis, configure sample app to kotlin
  • Loading branch information
tarek360 committed Aug 6, 2018
2 parents 2f5935f + 555855b commit e06e6e6
Show file tree
Hide file tree
Showing 12 changed files with 110 additions and 146 deletions.
92 changes: 35 additions & 57 deletions .travis.yml
@@ -1,69 +1,47 @@
language: android
jdk: oraclejdk8
sudo: false

notifications:
email:
- xyz@example.com

env:
matrix:
- ANDROID_TARGET=android-19 ANDROID_ABI=armeabi-v7a
global:
- ADB_INSTALL_TIMEOUT=10 #Time out to 10 mins

before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock

cache:
directories: #Cache all dirs under .gradle folder
- $HOME/.gradle/daemon #Cache daemon logs
- $HOME/.gradle/native #Cache library downloaded from the gradle dependency
- $HOME/.gradle/wrapper #Cache the gradle

android:
update_sdk: true
components:
- platform-tools
- tools

# The BuildTools version used by your project
- build-tools-24.0.2

# The SDK version used to compile your project
- android-24

# Additional components
- extra-google-google_play_services
- extra-google-m2repository
- extra-android-m2repository

#system images
- sys-img-armeabi-v7a-android-19

licenses:
components:
- tools
- platform-tools
- tools
- android-21
- android-27
- build-tools-27.0.3
- android-27
- addon-google_apis-google-27
- extra-google-google_play_services
- extra-android-support
- extra-google-m2repository
- extra-android-m2repository
- sys-img-armeabi-v7a-android-27
- sys-img-armeabi-v7a-android-21
licenses:
- 'android-sdk-preview-license-52d11cd2'
- 'android-sdk-license-.+'
- 'google-gdk-license-.+'

before_script:
- chmod +x gradlew #Grand permissions
- android list targets
- echo no | android create avd --force --name test --target $ANDROID_TARGET --abi $ANDROID_ABI #Create AVD for given api
- emulator -avd test -no-skin -no-audio -no-window & #Start emulator
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/

script:
- echo "Travis branch is $TRAVIS_BRANCH"
- echo "Travis branch is in pull request $TRAVIS_PULL+REQUEST"
- android-wait-for-emulator
- adb devices #Display list of devices
- adb shell input keyevent 82 &
- ./gradlew connectedCheck -PdisablePreDex --stacktrace
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.android/build-cache

before_install:
- pip install --user codecov #Install codecov
- echo y | android update sdk --no-ui --all --filter sys-img-armeabi-v7a-android-27,sys-img-x86_64-android-27,build-tools-27.0.3
- yes | sdkmanager "platforms;android-27"

after_success:
- codecov #Run codecov

after_failure: "cat $TRAVIS_BUILD_DIR/app/build/outputs/lint-results-debug.xml"
before_script:
- echo "************************ Start Running Unit Tests ************************"
- ./gradlew test --stacktrace
- android list targets
- emulator -list-avds
- echo no | android create avd --force -n test -t android-21 --abi armeabi-v7a
- emulator -avd test -no-skin -no-audio -no-window -netfast -no-boot-anim &
- android-wait-for-emulator
- adb shell input keyevent 82 &
7 changes: 6 additions & 1 deletion app/build.gradle
@@ -1,4 +1,5 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
compileSdkVersion rootProject.ext.compileSdkVersion
Expand All @@ -23,7 +24,7 @@ android {
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
implementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation "junit:junit:$rootProject.ext.junitVersion"
implementation "com.android.support:appcompat-v7:$rootProject.ext.supportLibraryVersion"
implementation "com.android.support:design:$rootProject.ext.supportLibraryVersion"
Expand All @@ -38,4 +39,8 @@ dependencies {
androidTestImplementation 'com.android.support.test.espresso:espresso-intents:3.0.1'

implementation project(path: ':instacapture')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
repositories {
mavenCentral()
}
Expand Up @@ -7,6 +7,7 @@
import android.view.View;

import org.hamcrest.Matcher;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand All @@ -23,7 +24,7 @@
import static com.tarek360.sample.Utility.sleep;
import static org.hamcrest.Matchers.allOf;


@Ignore
@RunWith(AndroidJUnit4.class)
public class ScreenshotTest {

Expand Down
69 changes: 0 additions & 69 deletions app/src/main/java/com/tarek360/sample/BaseSampleActivity.java

This file was deleted.

50 changes: 50 additions & 0 deletions app/src/main/java/com/tarek360/sample/BaseSampleActivity.kt
@@ -0,0 +1,50 @@
package com.tarek360.sample

import android.graphics.Bitmap
import android.os.Bundle
import android.support.annotation.LayoutRes
import android.support.v7.app.AppCompatActivity
import android.view.View
import butterknife.ButterKnife
import com.tarek360.instacapture.Instacapture
import com.tarek360.instacapture.listener.SimpleScreenCapturingListener
import com.tarek360.sample.uncapturableViews.AlertDialogFragment
import com.tarek360.sample.utility.Utility
import rx.android.schedulers.AndroidSchedulers

abstract class BaseSampleActivity : AppCompatActivity(), AlertDialogFragment.OnAlertDialogListener {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Instacapture.enableLogging(true)
}

override fun setContentView(@LayoutRes layoutResID: Int) {
super.setContentView(layoutResID)
ButterKnife.bind(this)
}

protected fun showAlertDialog() {
AlertDialogFragment.newInstance(R.string.dialog_title, R.string.dialog_message)
.show(supportFragmentManager, "dialogFragment")
}

protected fun captureScreenshot(vararg ignoredViews: View) {
Instacapture.capture(this, object : SimpleScreenCapturingListener() {
override fun onCaptureComplete(bitmap: Bitmap) {

Utility.getScreenshotFileObservable(this@BaseSampleActivity, bitmap)
.observeOn(AndroidSchedulers.mainThread())
.subscribe { file ->
startActivity(ShowScreenShotActivity.buildIntent(this@BaseSampleActivity,
file.absolutePath))
}
}
}, *ignoredViews)

}

override fun onPositiveButtonClick() {
captureScreenshot()
}
}
Expand Up @@ -35,7 +35,7 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
@Override
public void onClick(DialogInterface dialog, int which) {
if (mOnAlertDialogListener != null) {
mOnAlertDialogListener.OnPositiveButtonClick();
mOnAlertDialogListener.onPositiveButtonClick();
}
}
})
Expand All @@ -60,6 +60,6 @@ public void onAttach(Context context) {
}

public interface OnAlertDialogListener {
void OnPositiveButtonClick();
void onPositiveButtonClick();
}
}
16 changes: 8 additions & 8 deletions build.gradle
@@ -1,15 +1,15 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
ext.kotlin_version = '1.1.51'
ext.kotlin_version = '1.2.51'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.google.gms:google-services:3.1.0'
classpath 'com.android.tools.build:gradle:3.1.3'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
classpath 'com.google.gms:google-services:4.0.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand All @@ -32,12 +32,12 @@ task clean(type: Delete) {
ext {
// Sdk and tools
minSdkVersion = 14
targetSdkVersion = 26
compileSdkVersion = 26
buildToolsVersion = '26.0.2'
targetSdkVersion = 27
compileSdkVersion = 27
buildToolsVersion = '27.0.3'

// Dependencies versions
supportLibraryVersion = '26.1.0'
supportLibraryVersion = '27.1.1'
butterKnifeVersion = '8.8.1'
picassoVersion = '2.5.2'
rxandroidVersion = '1.2.1'
Expand Down
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Fri Nov 17 22:15:13 EET 2017
#Sat Jul 14 17:41:47 ICT 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
Expand Up @@ -13,6 +13,6 @@ public ApplicationTest() {


public void testAddtion() throws Exception {
assertEquals(10, 3 + 3);
assertEquals(6, 3 + 3);
}
}
Expand Up @@ -12,5 +12,5 @@ import rx.Observable
class ScreenshotProvider {

fun getScreenshotBitmap(activity: Activity, removedViews: Array<out View>): Observable<Bitmap> =
ViewsBitmapObservable[activity, removedViews]
ViewsBitmapObservable().get(activity, removedViews)
}
Expand Up @@ -7,14 +7,13 @@ import android.view.View
import com.tarek360.instacapture.exception.IllegalScreenSizeException

import rx.Observable
import rx.functions.Func0

/**
* Created by tarek on 5/17/16.
*/
object ViewsBitmapObservable {
class ViewsBitmapObservable {

operator fun get(activity: Activity,
fun get(activity: Activity,
removedViews: Array<out View>?): Observable<Bitmap> {

return Observable.defer {
Expand Down
Expand Up @@ -9,6 +9,6 @@
*/
public class ExampleUnitTest {
@Test public void addition_isCorrect() throws Exception {
assertEquals(5, 2 + 2);
assertEquals(4, 2 + 2);
}
}

0 comments on commit e06e6e6

Please sign in to comment.