Skip to content

Commit

Permalink
Enable Kotlin.
Browse files Browse the repository at this point in the history
  • Loading branch information
littledot committed Dec 21, 2016
1 parent a7f3334 commit 06e37b7
Show file tree
Hide file tree
Showing 9 changed files with 97 additions and 87 deletions.
8 changes: 8 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'com.getkeepsafe.dexcount'
apply plugin: 'kotlin-android'

apply from: 'https://raw.githubusercontent.com/littledot/android-gradle-java-template/v1.0.0/common.gradle'

Expand Down Expand Up @@ -48,8 +49,12 @@ android {
lintConfig project.rootProject.file('lint.xml')
}
sourceSets {
main {
java.srcDirs += 'src/main/kotlin'
}
test {
java.srcDirs += 'src/commonTest/java'
java.srcDirs += 'src/test/kotlin'
}
}
packagingOptions {
Expand All @@ -73,6 +78,7 @@ dependencies {
compile project.butterknife
compile project.javaxAnnotation
compile project.javaxInject
compile project.kotlinStdlib
compile project.kryo
compile project.leveldb
compile project.mbassador
Expand All @@ -83,6 +89,8 @@ dependencies {
testApt project.daggerCompiler

testCompile project(':commonTest')
testCompile project.kotlinTest
testCompile project.kotlinTestJunit

androidTestCompile project.junit
androidTestCompile project.mockitoCore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.style.StyleSpan;
import com.permissionnanny.dagger.ContextComponent;
import com.permissionnanny.data.AppPermission;
import com.permissionnanny.data.AppPermissionManager;
import com.permissionnanny.lib.NannyBundle;
Expand Down Expand Up @@ -51,7 +50,7 @@ public ConfirmRequestBinder(Activity activity,
mBundle = bundle;
mClientAddr = mBundle.getClientAddress();
mAppPackage = mBundle.getSenderIdentity();
mAppInfo = Util.getApplicationInfo(mContext, mAppPackage);
mAppInfo = Util.INSTANCE.getApplicationInfo(mContext, mAppPackage);
mRequest = mBundle.getRequest();
mOperation = Operation.getOperation(mRequest);
}
Expand Down
22 changes: 0 additions & 22 deletions app/src/main/java/com/permissionnanny/Util.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@
import android.widget.ArrayAdapter;
import com.permissionnanny.R;
import com.permissionnanny.SimpleOnItemSelectedListener;
import com.permissionnanny.Util;
import com.permissionnanny.data.AppPermissionManager;
import com.permissionnanny.data.AppPermission;
import com.permissionnanny.data.AppPermissionManager;
import com.permissionnanny.data.PermissionDetail;

import com.permissionnanny.Util;
import java.util.Map;

/**
Expand Down Expand Up @@ -86,7 +85,7 @@ private void bindAppViewHolder(AppInfoViewHolder holder, int position) {
String appName = appPackage;
Drawable appIcon = null;

ApplicationInfo info = Util.getApplicationInfo(mContext, appPackage);
ApplicationInfo info = Util.INSTANCE.getApplicationInfo(mContext, appPackage);
if (info != null) {
CharSequence appLabel = mPM.getApplicationLabel(info);
if (appLabel != null) {
Expand Down
21 changes: 21 additions & 0 deletions app/src/main/kotlin/com/permissionnanny/Util.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.permissionnanny

import android.content.Context
import android.content.pm.ApplicationInfo
import android.content.pm.PackageManager

/**
* Utilities.
*/
object Util {

fun getApplicationInfo(context: Context, packageName: String): ApplicationInfo? {
val pm = context.packageManager
try {
return pm.getApplicationInfo(packageName, 0)
} catch (e: PackageManager.NameNotFoundException) {
return null
}

}
}
47 changes: 0 additions & 47 deletions app/src/test/java/com/permissionnanny/UtilTest.java

This file was deleted.

45 changes: 45 additions & 0 deletions app/src/test/kotlin/com/permissionnanny/UtilTest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.permissionnanny

import android.content.Context
import android.content.pm.ApplicationInfo
import android.content.pm.PackageManager
import org.hamcrest.Matchers.nullValue
import org.hamcrest.Matchers.sameInstance
import org.junit.Assert.assertThat
import org.junit.Before
import org.junit.Test
import org.mockito.BDDMockito.given
import org.mockito.Matchers.anyInt
import org.mockito.Matchers.anyString
import org.mockito.Mock

class UtilTest : NannyAppTestCase() {

private var applicationInfo = ApplicationInfo()
@Mock private lateinit var context: Context
@Mock private lateinit var packageManager: PackageManager

@Before
fun setUp() {
given(context.packageManager).willReturn(packageManager)
}

@Test
fun getApplicationInfo() {
given(packageManager.getApplicationInfo("a", 0)).willReturn(applicationInfo)

val actual = Util.getApplicationInfo(context, "a")

assertThat(actual, sameInstance(applicationInfo))
}

@Test
fun getApplicationInfo_shouldReturnNull_whenQueryThrows() {
given(packageManager.getApplicationInfo(anyString(), anyInt()))
.willThrow(PackageManager.NameNotFoundException())

val actual = Util.getApplicationInfo(context, "a")

assertThat(actual, nullValue())
}
}
30 changes: 18 additions & 12 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,14 @@ buildscript {
maven { url "https://plugins.gradle.org/m2/" }
maven { url "https://maven.fabric.io/public" }
}
dependencies {
classpath "com.android.tools.build:gradle:2.0.0"
classpath "com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.6.1"
classpath "com.github.ben-manes:gradle-versions-plugin:0.13.0"
classpath "com.github.dcendents:android-maven-gradle-plugin:1.4.1"
classpath "com.jakewharton.sdkmanager:gradle-plugin:0.12.0"
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6"
classpath "com.neenbedankt.gradle.plugins:android-apt:1.8"
classpath "io.fabric.tools:gradle:1.20.1"
classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.8'
classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.4.0'
}
project.ext {
compileSdk = 22
buildTools = "23.0.2"
minSdk = 9
targetSdk = 22
versionCode = 10
versionName = "0.1.2-dev"
kotlin_version = '1.0.5-3'

v = "22.2.0"
design = "com.android.support:design:${v}"
Expand All @@ -49,6 +38,10 @@ buildscript {
eventbusAnnotationProcessor = "de.greenrobot:eventbus-annotation-processor:${v}"
javaxAnnotation = "javax.annotation:javax.annotation-api:1.2"
javaxInject = "javax.inject:javax.inject:1"
kotlinReflect = "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
kotlinStdlib = "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
kotlinTest = "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
kotlinTestJunit = "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
kryo = "com.esotericsoftware:kryo:3.0.2"
kryoSerializers = "de.javakaffee:kryo-serializers:0.33"
v = "1.3"
Expand Down Expand Up @@ -92,6 +85,19 @@ buildscript {
set(key, val ? val : System.env.get(key))
}
}
dependencies {
classpath "com.android.tools.build:gradle:2.0.0"
classpath "com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.6.1"
classpath "com.github.ben-manes:gradle-versions-plugin:0.13.0"
classpath "com.github.dcendents:android-maven-gradle-plugin:1.4.1"
classpath "com.jakewharton.sdkmanager:gradle-plugin:0.12.0"
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6"
classpath "com.neenbedankt.gradle.plugins:android-apt:1.8"
classpath "io.fabric.tools:gradle:1.20.1"
classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.8'
classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.4.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

allprojects {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ public DeepLinkRequest listener(SimpleListener listener) {
*
* @param context Activity, Service, etc.
*/
@Override
public void startRequest(Context context) {
setPayload(newBroadcastIntent(context));
super.startRequest(context);
Expand Down

0 comments on commit 06e37b7

Please sign in to comment.