diff --git a/app/build.gradle b/app/build.gradle index 1d0bbec..2c61c72 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,9 +4,10 @@ apply plugin: 'kotlin-android-extensions' android { compileSdkVersion rootProject.compileSdkVersion + buildToolsVersion rootProject.buildToolsVersion defaultConfig { - applicationId "com.potatoinc.instantappsample.app" + applicationId "com.example.android.instantappsample.app" minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion versionCode rootProject.versionCode @@ -31,6 +32,7 @@ android { } dependencies { - implementation project(':character-details') - implementation project(':character-list') + implementation project(':base') + implementation project(':details') + implementation project(':list') } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d6f0bb6..6430fc1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,2 +1,3 @@ + package="com.example.android.instantappsample.app" > + diff --git a/base/build.gradle b/base/build.gradle index a75ea5d..9e6e71e 100644 --- a/base/build.gradle +++ b/base/build.gradle @@ -1,11 +1,14 @@ apply plugin: 'com.android.feature' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-kapt' android { compileSdkVersion rootProject.compileSdkVersion + buildToolsVersion rootProject.buildToolsVersion baseFeature true + defaultConfig { minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion @@ -35,12 +38,12 @@ android { dependencies { application project(':app') - feature project(':character-list') - feature project(":character-details") + feature project(':list') + feature project(':details') api "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" api "com.android.support:appcompat-v7:$support_version" - api 'com.android.support.constraint:constraint-layout:1.1.2' + api 'com.android.support.constraint:constraint-layout:1.1.3' api "com.android.support:recyclerview-v7:$support_version" api 'com.squareup.retrofit2:retrofit:2.4.0' @@ -49,7 +52,7 @@ dependencies { api 'com.squareup.okhttp3:okhttp:3.11.0' api 'com.squareup.retrofit2:adapter-rxjava2:2.4.0' - api 'com.squareup.okhttp3:logging-interceptor:3.9.1' + api 'com.squareup.okhttp3:logging-interceptor:3.11.0' api 'com.jakewharton.timber:timber:4.7.1' @@ -58,8 +61,8 @@ dependencies { api 'com.github.bumptech.glide:glide:4.8.0' api "android.arch.lifecycle:extensions:1.1.1" + kapt "android.arch.lifecycle:compiler:1.1.1" - api 'com.google.android.gms:play-services-instantapps:16.0.0' - api 'com.google.android.gms:play-services-auth:15.0.1' - + api 'com.google.android.gms:play-services-instantapps:16.0.1' + api 'com.google.android.gms:play-services-auth:16.0.1' } diff --git a/base/src/main/AndroidManifest.xml b/base/src/main/AndroidManifest.xml index a7b9027..70ebd9d 100644 --- a/base/src/main/AndroidManifest.xml +++ b/base/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ @@ -8,6 +9,8 @@ android:allowBackup="true" android:label="@string/app_name" android:supportsRtl="true" - android:theme="@style/AppTheme" /> + android:theme="@style/AppTheme" + tools:ignore="GoogleAppIndexingWarning,UnusedAttribute"> + - \ No newline at end of file + diff --git a/build.gradle b/build.gradle index a4b57f3..ec88e52 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. ext { - support_version = '28.0.0-rc01' + support_version = '28.0.0' compileSdkVersion = 28 buildToolsVersion = "28.0.2" minSdkVersion = 21 @@ -11,6 +11,7 @@ ext { } buildscript { + ext.kotlin_version = '1.2.71' ext.kotlin_version = '1.2.60' repositories { @@ -18,7 +19,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.4' + classpath 'com.android.tools.build:gradle:3.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } @@ -28,4 +29,4 @@ allprojects { google() jcenter() } -} \ No newline at end of file +} diff --git a/character-details/.gitignore b/details/.gitignore similarity index 100% rename from character-details/.gitignore rename to details/.gitignore diff --git a/character-details/build.gradle b/details/build.gradle similarity index 73% rename from character-details/build.gradle rename to details/build.gradle index 620df2f..c8f9d9b 100644 --- a/character-details/build.gradle +++ b/details/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'kotlin-android-extensions' android { compileSdkVersion rootProject.compileSdkVersion + buildToolsVersion rootProject.buildToolsVersion defaultConfig { minSdkVersion rootProject.minSdkVersion @@ -18,13 +19,9 @@ android { debug {} minified { debuggable true - minifyEnabled true signingConfig signingConfigs.debug - proguardFiles getDefaultProguardFile('proguard-android.txt'), '../proguard-rules.pro' } release { - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt'), '../proguard-rules.pro' } } } diff --git a/character-details/src/main/AndroidManifest.xml b/details/src/main/AndroidManifest.xml similarity index 50% rename from character-details/src/main/AndroidManifest.xml rename to details/src/main/AndroidManifest.xml index 3ff43f9..822846f 100644 --- a/character-details/src/main/AndroidManifest.xml +++ b/details/src/main/AndroidManifest.xml @@ -1,43 +1,35 @@ + package="com.example.android.instantappsample.characterdetails"> - - + + - + + android:scheme="http" + android:host="sample.com" + android:pathPattern="/character/.*" /> - - + - + - + android:scheme="https" + android:host="sample.com" + android:pathPattern="/character/.*" /> - - - \ No newline at end of file + diff --git a/character-details/src/main/java/com/example/android/instantappsample/character_details/CharacterDetailsActivity.kt b/details/src/main/java/com/example/android/instantappsample/characterdetails/CharacterDetailsActivity.kt similarity index 96% rename from character-details/src/main/java/com/example/android/instantappsample/character_details/CharacterDetailsActivity.kt rename to details/src/main/java/com/example/android/instantappsample/characterdetails/CharacterDetailsActivity.kt index 412cef6..3e3d5d1 100644 --- a/character-details/src/main/java/com/example/android/instantappsample/character_details/CharacterDetailsActivity.kt +++ b/details/src/main/java/com/example/android/instantappsample/characterdetails/CharacterDetailsActivity.kt @@ -1,4 +1,4 @@ -package com.example.android.instantappsample.character_details +package com.example.android.instantappsample.characterdetails import android.arch.lifecycle.Observer import android.arch.lifecycle.ViewModelProviders diff --git a/character-details/src/main/java/com/example/android/instantappsample/character_details/CharacterDetailsViewModel.kt b/details/src/main/java/com/example/android/instantappsample/characterdetails/CharacterDetailsViewModel.kt similarity index 93% rename from character-details/src/main/java/com/example/android/instantappsample/character_details/CharacterDetailsViewModel.kt rename to details/src/main/java/com/example/android/instantappsample/characterdetails/CharacterDetailsViewModel.kt index 7d15682..46db9c1 100644 --- a/character-details/src/main/java/com/example/android/instantappsample/character_details/CharacterDetailsViewModel.kt +++ b/details/src/main/java/com/example/android/instantappsample/characterdetails/CharacterDetailsViewModel.kt @@ -1,4 +1,4 @@ -package com.example.android.instantappsample.character_details +package com.example.android.instantappsample.characterdetails import android.arch.lifecycle.MutableLiveData import android.arch.lifecycle.ViewModel @@ -25,4 +25,4 @@ class CharacterDetailsViewModel : ViewModel() { }) } } -} \ No newline at end of file +} diff --git a/character-details/src/main/res/layout/activity_character_details.xml b/details/src/main/res/layout/activity_character_details.xml similarity index 100% rename from character-details/src/main/res/layout/activity_character_details.xml rename to details/src/main/res/layout/activity_character_details.xml diff --git a/character-details/src/main/res/values/strings.xml b/details/src/main/res/values/strings.xml similarity index 100% rename from character-details/src/main/res/values/strings.xml rename to details/src/main/res/values/strings.xml diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7f4c43b..538d287 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Aug 21 13:41:04 CEST 2018 +#Mon Oct 15 19:59:49 CEST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip diff --git a/instantapp/build.gradle b/instantapp/build.gradle index 82b70ca..865501c 100644 --- a/instantapp/build.gradle +++ b/instantapp/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'kotlin-android-extensions' android { compileSdkVersion rootProject.compileSdkVersion + buildToolsVersion rootProject.buildToolsVersion defaultConfig { minSdkVersion rootProject.minSdkVersion @@ -27,7 +28,7 @@ android { } dependencies { - implementation project(':character-details') - implementation project(':character-list') + implementation project(':details') + implementation project(':list') implementation project(':base') } diff --git a/character-list/.gitignore b/list/.gitignore similarity index 100% rename from character-list/.gitignore rename to list/.gitignore diff --git a/character-list/build.gradle b/list/build.gradle similarity index 74% rename from character-list/build.gradle rename to list/build.gradle index 29a8d5d..1219cbd 100644 --- a/character-list/build.gradle +++ b/list/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'kotlin-android-extensions' android { compileSdkVersion rootProject.compileSdkVersion + buildToolsVersion rootProject.buildToolsVersion defaultConfig { minSdkVersion rootProject.minSdkVersion @@ -18,13 +19,9 @@ android { debug {} minified { debuggable true - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt'), '../proguard-rules.pro' signingConfig signingConfigs.debug } release { - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt'), '../proguard-rules.pro' } } androidExtensions { diff --git a/character-list/src/main/AndroidManifest.xml b/list/src/main/AndroidManifest.xml similarity index 78% rename from character-list/src/main/AndroidManifest.xml rename to list/src/main/AndroidManifest.xml index e84f3b3..f84722b 100644 --- a/character-list/src/main/AndroidManifest.xml +++ b/list/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="com.example.android.instantappsample.characterlist"> @@ -13,43 +13,35 @@ - + + - + + android:scheme="http" /> - - - + - + - + android:scheme="https" /> - - - \ No newline at end of file + diff --git a/character-list/src/main/java/com/example/android/instantappsample/character_list/CharacterItemAdapter.kt b/list/src/main/java/com/example/android/instantappsample/characterlist/CharacterItemAdapter.kt similarity index 97% rename from character-list/src/main/java/com/example/android/instantappsample/character_list/CharacterItemAdapter.kt rename to list/src/main/java/com/example/android/instantappsample/characterlist/CharacterItemAdapter.kt index e85dcfe..3312c33 100644 --- a/character-list/src/main/java/com/example/android/instantappsample/character_list/CharacterItemAdapter.kt +++ b/list/src/main/java/com/example/android/instantappsample/characterlist/CharacterItemAdapter.kt @@ -1,4 +1,4 @@ -package com.example.android.instantappsample.character_list +package com.example.android.instantappsample.characterlist import android.support.v4.content.ContextCompat import android.support.v7.widget.RecyclerView @@ -56,4 +56,4 @@ class CharacterItemAdapter( } } -} \ No newline at end of file +} diff --git a/character-list/src/main/java/com/example/android/instantappsample/character_list/CharacterListActivity.kt b/list/src/main/java/com/example/android/instantappsample/characterlist/CharacterListActivity.kt similarity index 98% rename from character-list/src/main/java/com/example/android/instantappsample/character_list/CharacterListActivity.kt rename to list/src/main/java/com/example/android/instantappsample/characterlist/CharacterListActivity.kt index e11cad0..d62f1e7 100644 --- a/character-list/src/main/java/com/example/android/instantappsample/character_list/CharacterListActivity.kt +++ b/list/src/main/java/com/example/android/instantappsample/characterlist/CharacterListActivity.kt @@ -1,4 +1,4 @@ -package com.example.android.instantappsample.character_list +package com.example.android.instantappsample.characterlist import android.arch.lifecycle.Observer import android.arch.lifecycle.ViewModelProviders diff --git a/character-list/src/main/java/com/example/android/instantappsample/character_list/CharacterListViewModel.kt b/list/src/main/java/com/example/android/instantappsample/characterlist/CharacterListViewModel.kt similarity index 96% rename from character-list/src/main/java/com/example/android/instantappsample/character_list/CharacterListViewModel.kt rename to list/src/main/java/com/example/android/instantappsample/characterlist/CharacterListViewModel.kt index c1701d7..4d1a475 100644 --- a/character-list/src/main/java/com/example/android/instantappsample/character_list/CharacterListViewModel.kt +++ b/list/src/main/java/com/example/android/instantappsample/characterlist/CharacterListViewModel.kt @@ -1,4 +1,4 @@ -package com.example.android.instantappsample.character_list +package com.example.android.instantappsample.characterlist import android.arch.lifecycle.MutableLiveData import android.arch.lifecycle.ViewModel @@ -42,4 +42,4 @@ class CharacterListViewModel : ViewModel() { } }) } -} \ No newline at end of file +} diff --git a/character-list/src/main/res/layout/activity_character_list.xml b/list/src/main/res/layout/activity_character_list.xml similarity index 100% rename from character-list/src/main/res/layout/activity_character_list.xml rename to list/src/main/res/layout/activity_character_list.xml diff --git a/character-list/src/main/res/layout/item_character.xml b/list/src/main/res/layout/item_character.xml similarity index 100% rename from character-list/src/main/res/layout/item_character.xml rename to list/src/main/res/layout/item_character.xml diff --git a/character-list/src/main/res/values/strings.xml b/list/src/main/res/values/strings.xml similarity index 100% rename from character-list/src/main/res/values/strings.xml rename to list/src/main/res/values/strings.xml diff --git a/proguard-rules.pro b/proguard-rules.pro index 62ad25c..4e32e6b 100644 --- a/proguard-rules.pro +++ b/proguard-rules.pro @@ -1,5 +1,10 @@ --keepattributes *Annotation*,Signature - +-optimizationpasses 5 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-dontskipnonpubliclibraryclassmembers +-dontpreverify +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* +-keepattributes LineNumberTable,SourceFile,Signature,*Annotation*,Exceptions,InnerClasses -keepattributes SourceFile,LineNumberTable -keep public class * extends java.lang.Exception @@ -8,6 +13,12 @@ @retrofit2.http.* ; } +-dontwarn android.support.** +-dontwarn android.support.design.** +-keep class android.support.design.** { *; } +-keep interface android.support.design.** { *; } +-keep public class android.support.design.R$* { *; } + # Project -dontnote com.example.android.instantappsample.** # Android @@ -43,145 +54,3 @@ -keepclassmembers class android.arch.** { *; } -keep class android.arch.** { *; } -dontwarn android.arch.** - --keep, includedescriptorclasses class android.arch.lifecycle.MutableLiveData { - public protected *; -} --keep, includedescriptorclasses class android.arch.lifecycle.ViewModel { - public protected *; -} --keep, includedescriptorclasses class android.arch.lifecycle.ViewModelProvider { - public protected *; -} --keep, includedescriptorclasses class android.arch.lifecycle.ViewModelProviders { - public protected *; -} --keep, includedescriptorclasses class android.support.constraint.ConstraintLayout { - public protected *; -} --keep, includedescriptorclasses class android.support.v4.app.FragmentActivity { - public protected *; -} --keep, includedescriptorclasses class android.support.v4.content.ContextCompat { - public protected *; -} --keep, includedescriptorclasses class android.support.v7.app.AppCompatActivity { - public protected *; -} --keep, includedescriptorclasses class android.support.v7.widget.RecyclerView { - public protected *; -} --keep, includedescriptorclasses class android.support.v7.widget.RecyclerView$Adapter { - public protected *; -} --keep, includedescriptorclasses class android.support.v7.widget.RecyclerView$OnScrollListener { - public protected *; -} --keep, includedescriptorclasses class android.support.v7.widget.RecyclerView$ViewHolder { - public protected *; -} --keep, includedescriptorclasses class com.bumptech.glide.Glide { - public protected *; -} --keep, includedescriptorclasses class com.bumptech.glide.RequestBuilder { - public protected *; -} --keep, includedescriptorclasses class com.bumptech.glide.RequestManager { - public protected *; -} --keep, includedescriptorclasses class com.example.android.instantappsample.base.ApiInterface { - public protected *; -} --keep, includedescriptorclasses class com.example.android.instantappsample.base.MyObserver { - public protected *; -} --keep, includedescriptorclasses class com.example.android.instantappsample.base.RestClient { - public protected *; -} --keep, includedescriptorclasses class com.example.android.instantappsample.base.UtilKt { - public protected *; -} --keep, includedescriptorclasses class com.example.android.instantappsample.base.data.Character { - public protected *; -} --keep, includedescriptorclasses class com.example.android.instantappsample.base.data.CharacterPage { - public protected *; -} --keep, includedescriptorclasses class com.example.android.instantappsample.base.data.Info { - public protected *; -} --keep, includedescriptorclasses class com.google.android.gms.auth.api.credentials.Credential { - public protected *; -} --keep, includedescriptorclasses class com.google.android.gms.auth.api.credentials.CredentialPickerConfig$Builder { - public protected *; -} --keep, includedescriptorclasses class com.google.android.gms.auth.api.credentials.CredentialRequest$Builder { - public protected *; -} --keep, includedescriptorclasses class com.google.android.gms.auth.api.credentials.Credentials { - public protected *; -} --keep, includedescriptorclasses class com.google.android.gms.auth.api.credentials.CredentialsClient { - public protected *; -} --keep, includedescriptorclasses class com.google.android.gms.auth.api.credentials.HintRequest$Builder { - public protected *; -} --keep, includedescriptorclasses class com.google.android.gms.instantapps.InstantApps { - public protected *; -} --keep, includedescriptorclasses class com.google.android.gms.instantapps.PackageManagerCompat { - public protected *; -} --keep, includedescriptorclasses class com.google.android.gms.tasks.Task { - public protected *; -} --keep,includedescriptorclasses class com.google.android.gms.tasks.OnCompleteListener { - public protected *; -} --keep, includedescriptorclasses class io.reactivex.Observable { - public protected *; -} --keep, includedescriptorclasses class io.reactivex.schedulers.Schedulers { - public protected *; -} --keep, includedescriptorclasses class kotlin.Lazy { - public protected *; -} --keep, includedescriptorclasses class kotlin.LazyKt { - public protected *; -} --keep, includedescriptorclasses class kotlin.TypeCastException { - public protected *; -} --keep, includedescriptorclasses class kotlin.Unit { - public protected *; -} --keep, includedescriptorclasses class kotlin.collections.CollectionsKt { - public protected *; -} --keep, includedescriptorclasses class kotlin.jvm.functions.Function0 { - public protected *; -} --keep, includedescriptorclasses class kotlin.jvm.functions.Function1 { - public protected *; -} --keep, includedescriptorclasses class kotlin.jvm.internal.Intrinsics { - public protected *; -} --keep, includedescriptorclasses class kotlin.jvm.internal.Lambda { - public protected *; -} --keep, includedescriptorclasses class kotlin.jvm.internal.PropertyReference1Impl { - public protected *; -} --keep, includedescriptorclasses class kotlin.jvm.internal.Reflection { - public protected *; -} --keep, includedescriptorclasses class timber.log.Timber { - public protected *; -} --keep, includedescriptorclasses class timber.log.Timber$DebugTree { - public protected *; -} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index f140a2e..237af1f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ':app', ':instantapp', ':base', ':character-list', ':character-details' +include ':app', ':instantapp', ':base', ':list', ':details'