From a39b7645a72f983ed3978bd4f39076c452afec12 Mon Sep 17 00:00:00 2001 From: Orinda Harrison Date: Sun, 12 Apr 2020 03:58:28 +0300 Subject: [PATCH] Migrate to AndroidX --- .travis.yml | 4 ++-- app/build.gradle | 19 +++++++++++++------ .../readmoretextviewsample/MainActivity.java | 3 ++- app/src/main/res/layout/activity_main.xml | 14 ++++++-------- app/src/main/res/values/strings.xml | 6 +++--- build.gradle | 4 +++- gradle.properties | 4 +++- gradle/wrapper/gradle-wrapper.properties | 4 ++-- readmoretextview/build.gradle | 17 ++++++++++++----- .../readmoretextview/ReadMoreTextView.java | 3 ++- .../com/borjabravo/readmoretextview/utils.kt | 15 +++++++++++++++ 11 files changed, 63 insertions(+), 30 deletions(-) create mode 100644 readmoretextview/src/main/java/com/borjabravo/readmoretextview/utils.kt diff --git a/.travis.yml b/.travis.yml index 7812812..b054cf5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,8 +6,8 @@ android: - tools - tools - platform-tools - - build-tools-27.0.0 - - android-27 + - build-tools-29.0.3 + - android-29 - extra-android-m2repository before_cache: diff --git a/app/build.gradle b/app/build.gradle index 7c556c1..c952a2b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,15 @@ apply plugin: 'com.android.application' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-android' android { - compileSdkVersion 27 - buildToolsVersion "27.0.0" + compileSdkVersion 29 + buildToolsVersion "29.0.3" defaultConfig { applicationId "com.borjabravo.readmoretextview" minSdkVersion 14 - targetSdkVersion 27 + targetSdkVersion 29 versionCode 1 versionName "1.0" } @@ -25,8 +27,13 @@ android { } dependencies { - implementation 'com.android.support:appcompat-v7:27.0.0' - implementation 'com.android.support:design:27.0.0' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "androidx.core:core-ktx:1.2.0" + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'com.google.android.material:material:1.1.0' implementation project(':readmoretextview') - testImplementation 'junit:junit:4.12' + testImplementation 'junit:junit:4.13' +} +repositories { + mavenCentral() } diff --git a/app/src/main/java/com/borjabravo/readmoretextviewsample/MainActivity.java b/app/src/main/java/com/borjabravo/readmoretextviewsample/MainActivity.java index 8f50499..0250681 100644 --- a/app/src/main/java/com/borjabravo/readmoretextviewsample/MainActivity.java +++ b/app/src/main/java/com/borjabravo/readmoretextviewsample/MainActivity.java @@ -1,9 +1,10 @@ package com.borjabravo.readmoretextviewsample; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; import android.widget.TextView; +import androidx.appcompat.app.AppCompatActivity; + public class MainActivity extends AppCompatActivity { @Override diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 01a64c6..fac0e0e 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,23 +4,23 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" android:paddingRight="@dimen/activity_horizontal_margin" - android:paddingTop="@dimen/activity_vertical_margin"> + android:paddingBottom="@dimen/activity_vertical_margin"> + app:trimCollapsedText="@string/show_all_content" /> + app:colorClickableText="?attr/colorPrimary" /> + app:trimLength="100" /> + android:layout_height="wrap_content" /> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 23265b0..b258480 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,8 +1,8 @@ ReadMoreTextViewSample - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras feugiat, nunc eget volutpat viverra, lacus ligula venenatis nulla, in accumsan eros eros nec ipsum. Fusce eget massa id lorem blandit lobortis. Donec lacus ligula, commodo quis eleifend ac, rhoncus sed mi. Curabitur luctus justo vel consequat fermentum. Donec facilisis elit in sem suscipit pharetra. Curabitur porta et dolor eget pretium. Mauris quam augue, interdum nec tempor vitae, consectetur at erat. - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras feugiat, nunc eget volutpat viverra, lacus ligula venenatis nulla, in accumsan eros eros nec ipsum. Fusce eget massa id lorem blandit lobortis. Donec lacus ligula, commodo quis eleifend ac, rhoncus sed mi. - Lorem ipsum dolor sit amet, consectetur adipiscing elit.Cras feugiat, nunc eget volutpat viverra, lacus ligula venenatis nulla, in accumsan eros eros nec ipsum. Fusce eget massa id lorem blandit lobortis. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras feugiat, nunc eget volutpat viverra, lacus ligula venenatis nulla, in accumsan eros nec ipsum. Fusce eget massa id lorem blandit lobortis. Donec lacus ligula, commodo quis eleifend ac, rhoncus sed mi. Curabitur luctus justo vel consequat fermentum. Donec facilisis elit in sem suscipit pharetra. Curabitur porta et dolor eget pretium. Mauris quam augue, interdum nec tempor vitae, consectetur at erat. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras feugiat, nunc eget volutpat viverra, lacus ligula venenatis nulla, in accumsan eros nec ipsum. Fusce eget massa id lorem blandit lobortis. Donec lacus ligula, commodo quis eleifend ac, rhoncus sed mi. + Lorem ipsum dolor sit amet, consectetur adipiscing elit.Cras feugiat, nunc eget volutpat viverra, lacus ligula venenatis nulla, in accumsan eros nec ipsum. Fusce eget massa id lorem blandit lobortis. Show all content One line text diff --git a/build.gradle b/build.gradle index ea35e68..74223e1 100644 --- a/build.gradle +++ b/build.gradle @@ -1,11 +1,13 @@ buildscript { + ext.kotlin_version = '1.3.71' repositories { jcenter() google() } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0' + classpath 'com.android.tools.build:gradle:3.6.2' classpath 'com.novoda:bintray-release:0.5.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/gradle.properties b/gradle.properties index 1d3591c..915f0e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,4 +15,6 @@ # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true \ No newline at end of file +# org.gradle.parallel=true +android.enableJetifier=true +android.useAndroidX=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b692f5e..a2499ec 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Nov 12 12:19:18 CET 2017 +#Sun Apr 12 02:54:16 EAT 2020 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-5.6.4-all.zip diff --git a/readmoretextview/build.gradle b/readmoretextview/build.gradle index 1fefb5e..323d608 100644 --- a/readmoretextview/build.gradle +++ b/readmoretextview/build.gradle @@ -1,4 +1,6 @@ apply plugin: 'com.android.library' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-android' apply plugin: 'com.novoda.bintray-release' publish { @@ -12,12 +14,12 @@ publish { } android { - compileSdkVersion 27 - buildToolsVersion '27.0.0' + compileSdkVersion 29 + buildToolsVersion '29.0.3' defaultConfig { minSdkVersion 14 - targetSdkVersion 27 + targetSdkVersion 29 versionCode 1 versionName "1.0" } @@ -28,6 +30,11 @@ android { } dependencies { - implementation 'com.android.support:support-compat:27.0.0' - testImplementation 'junit:junit:4.12' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "androidx.core:core-ktx:1.2.0" + implementation 'androidx.core:core:1.2.0' + testImplementation 'junit:junit:4.13' +} +repositories { + mavenCentral() } \ No newline at end of file diff --git a/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreTextView.java b/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreTextView.java index f560151..c920a45 100644 --- a/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreTextView.java +++ b/readmoretextview/src/main/java/com/borjabravo/readmoretextview/ReadMoreTextView.java @@ -19,7 +19,6 @@ import android.content.res.TypedArray; import android.graphics.Color; import android.os.Build; -import android.support.v4.content.ContextCompat; import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.TextPaint; @@ -30,6 +29,8 @@ import android.view.ViewTreeObserver; import android.widget.TextView; +import androidx.core.content.ContextCompat; + public class ReadMoreTextView extends TextView { private static final int TRIM_MODE_LINES = 0; diff --git a/readmoretextview/src/main/java/com/borjabravo/readmoretextview/utils.kt b/readmoretextview/src/main/java/com/borjabravo/readmoretextview/utils.kt new file mode 100644 index 0000000..63cfb5c --- /dev/null +++ b/readmoretextview/src/main/java/com/borjabravo/readmoretextview/utils.kt @@ -0,0 +1,15 @@ +package com.borjabravo.readmoretextview + +import android.content.Context +import androidx.annotation.AttrRes +import androidx.annotation.ColorInt + +@ColorInt +fun getThemedColor(context: Context, @AttrRes themeResId: Int): Int { + val a = context.obtainStyledAttributes(null, intArrayOf(themeResId)) + try { + return a.getColor(0, 9) + } finally { + a.recycle() + } +} \ No newline at end of file