Skip to content

Commit

Permalink
Migrate to AndroidX
Browse files Browse the repository at this point in the history
We're forced to downgrade Dagger because of a Jetifier bug.
  • Loading branch information
JakeWharton committed Sep 16, 2018
1 parent 23f4092 commit cbb740d
Show file tree
Hide file tree
Showing 26 changed files with 92 additions and 105 deletions.
48 changes: 14 additions & 34 deletions build.gradle
Expand Up @@ -16,16 +16,14 @@ buildscript {
ext.buildConfig.version['code'] = buildConfig.version.major * 1000000 + buildConfig.version.minor * 10000 + buildConfig.version.patch * 100 + buildConfig.version.build

ext.versions = [
'supportLibrary': '28.0.0-rc02',
'atsl': '1.0.1',
'kotlin': '1.2.61',
'kotlinCoroutines': '0.26.0',
'kotlinSerialization': '0.6.1',
'okhttp': '3.11.0',
'retrofit': '2.4.0',
'kotshi': '1.0.4',
'dagger': '2.17',
'sqldelight': '1.0.0-alpha5',
'dagger': '2.16', // TODO https://issuetracker.google.com/issues/115738511
'sqldelight': '1.0.0-SNAPSHOT',
]

ext.deps = [
Expand Down Expand Up @@ -54,28 +52,20 @@ buildscript {
'js': "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:${versions.kotlinSerialization}",
],
],
'android': [
'arch': [
'dbFramework': 'android.arch.persistence:db-framework:1.0.0',
],
'support': [
'annotations': "com.android.support:support-annotations:${versions.supportLibrary}",
'coreUtils': "com.android.support:support-core-utils:${versions.supportLibrary}",
'compat': "com.android.support:support-compat:${versions.supportLibrary}",
'recyclerView': "com.android.support:recyclerview-v7:${versions.supportLibrary}",
'customTabs': "com.android.support:customtabs:${versions.supportLibrary}",
'appCompat': "com.android.support:appcompat-v7:${versions.supportLibrary}",
'design': "com.android.support:design:${versions.supportLibrary}",
'constraintLayout': 'com.android.support.constraint:constraint-layout:1.1.3',
],
'x': [
'coreKtx': 'androidx.core:core-ktx:0.3',
],
'androidx': [
'annotations': 'androidx.annotation:annotation:1.0.0-rc02',
'appCompat': 'androidx.appcompat:appcompat:1.0.0-rc02',
'browser': 'androidx.browser:browser:1.0.0-rc02',
'constraintLayout': 'androidx.constraintlayout:constraintlayout:1.1.3',
'core': 'androidx.core:core-ktx:1.0.0-rc02',
'recyclerView': 'androidx.recyclerview:recyclerview:1.0.0-rc02',
'sqliteFramework': 'androidx.sqlite:sqlite-framework:1.0.0-rc02',
'test': [
'runner': "com.android.support.test:runner:${versions.atsl}",
'rules': "com.android.support.test:rules${versions.atsl}",
'runner': 'androidx.test:runner:1.1.0-alpha4',
'rules': 'androidx.test:rules:1.1.0-alpha4',
],
],
'material': 'com.google.android.material:material:1.0.0-rc02',
'okhttp': [
'client': "com.squareup.okhttp3:okhttp:${versions.okhttp}",
'logging': "com.squareup.okhttp3:logging-interceptor:${versions.okhttp}",
Expand Down Expand Up @@ -127,6 +117,7 @@ buildscript {
google()
maven { url "https://kotlin.bintray.com/kotlinx" }
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
gradlePluginPortal()
}

Expand All @@ -152,17 +143,6 @@ allprojects {
jcenter()
}

// Force all of the primary support libraries to use the same version.
configurations.all {
resolutionStrategy {
eachDependency { details ->
if (details.requested.group == 'com.android.support') {
details.useVersion versions.supportLibrary
}
}
}
}

tasks.withType(Test) {
testLogging {
events "skipped", "failed", "passed"
Expand Down
4 changes: 2 additions & 2 deletions debug-updater/build.gradle
Expand Up @@ -29,13 +29,13 @@ android {

dependencies {
implementation project(':api:circleci')
implementation deps.android.x.coreKtx
implementation deps.androidx.core
implementation deps.kotlin.stdlib.jdk
implementation deps.kotlin.coroutines.jdk
implementation deps.kotlin.coroutines.android
implementation deps.timber.jdk
implementation deps.okio
implementation deps.android.support.coreUtils
implementation deps.androidx.core

implementation deps.dagger.runtime
implementation deps.dagger.androidRuntime
Expand Down
2 changes: 1 addition & 1 deletion debug-updater/src/main/AndroidManifest.xml
Expand Up @@ -16,7 +16,7 @@
<service android:name=".UpdateService"/>

<provider
android:name="android.support.v4.content.FileProvider"
android:name="androidx.core.content.FileProvider"
android:authorities="com.jakewharton.sdksearch.updates"
android:exported="false"
android:grantUriPermissions="true"
Expand Down
Expand Up @@ -2,9 +2,10 @@ package com.jakewharton.sdksearch.debug.updater

import android.app.Activity
import android.os.Bundle
import android.support.annotation.RestrictTo
import android.support.annotation.RestrictTo.Scope.LIBRARY
import androidx.core.widget.toast
import android.widget.Toast
import android.widget.Toast.LENGTH_SHORT
import androidx.annotation.RestrictTo
import androidx.annotation.RestrictTo.Scope.LIBRARY
import dagger.Module
import dagger.android.AndroidInjection
import dagger.android.ContributesAndroidInjector
Expand All @@ -19,7 +20,7 @@ class UpdateActivity : Activity() {
AndroidInjection.inject(this)

if (config.apiToken.isBlank()) {
toast("Circle CI token missing. Cannot update!")
Toast.makeText(this, "Circle CI token missing. Cannot update!", LENGTH_SHORT).show()
} else {
startUpdateService(config)
}
Expand Down
Expand Up @@ -11,13 +11,14 @@ import android.content.Intent.ACTION_INSTALL_PACKAGE
import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
import android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION
import android.os.Build
import android.support.annotation.RestrictTo
import android.support.annotation.RestrictTo.Scope.LIBRARY
import android.support.annotation.StringRes
import android.support.v4.app.NotificationCompat
import android.support.v4.content.FileProvider
import androidx.core.content.systemService
import androidx.core.widget.toast
import android.widget.Toast
import android.widget.Toast.LENGTH_SHORT
import androidx.annotation.RestrictTo
import androidx.annotation.RestrictTo.Scope.LIBRARY
import androidx.annotation.StringRes
import androidx.core.app.NotificationCompat
import androidx.core.content.FileProvider
import androidx.core.content.getSystemService
import com.jakewharton.sdksearch.api.circleci.CircleCiComponent
import com.jakewharton.sdksearch.api.circleci.Filter.SUCCESSFUL
import com.jakewharton.sdksearch.api.circleci.VcsType.GITHUB
Expand Down Expand Up @@ -53,7 +54,7 @@ class UpdateService : Service() {
return START_NOT_STICKY
}

val notifications = systemService<NotificationManager>()
val notifications = getSystemService<NotificationManager>()!!

if (Build.VERSION.SDK_INT >= 26 && notifications.getNotificationChannel(CHANNEL_ID) == null) {
val channel = NotificationChannel(CHANNEL_ID, "Debug Updates", IMPORTANCE_LOW)
Expand Down Expand Up @@ -98,7 +99,7 @@ class UpdateService : Service() {
if (timestamp <= config.timestamp) {
stopSelf(startId)
launch(Dispatchers.Main) {
toast("App is already up-to-date!")
Toast.makeText(this@UpdateService, "App is already up-to-date!", LENGTH_SHORT).show()
}
return@launch
}
Expand Down
2 changes: 1 addition & 1 deletion frontend/android/build.gradle
Expand Up @@ -125,7 +125,7 @@ dependencies {
implementation deps.kotlin.coroutines.jdk
implementation deps.kotlin.coroutines.android

implementation deps.android.support.appCompat
implementation deps.androidx.appCompat

implementation deps.okhttp.logging

Expand Down
3 changes: 3 additions & 0 deletions gradle.properties
Expand Up @@ -8,3 +8,6 @@ android.namespacedRClass=true

# Generate R references as class files instead of source files so they don't need compiled.
android.enableSeparateRClassCompilation=true

android.useAndroidX=true
android.enableJetifier=true
6 changes: 3 additions & 3 deletions options/ui-android/build.gradle
Expand Up @@ -35,10 +35,10 @@ dependencies {
implementation deps.kotlin.coroutines.jdk
implementation deps.kotlin.coroutines.android

implementation deps.android.support.constraintLayout
implementation deps.android.support.design
implementation deps.androidx.constraintLayout
implementation deps.androidx.core

implementation deps.android.x.coreKtx
implementation deps.material
}

kotlin {
Expand Down
@@ -1,7 +1,7 @@
package com.jakewharton.sdksearch.options.ui

import android.support.design.widget.TextInputLayout
import android.view.View
import com.google.android.material.textfield.TextInputLayout
import com.jakewharton.presentation.UiBinder
import com.jakewharton.sdksearch.options.presenter.OptionsPresenter.Event
import com.jakewharton.sdksearch.options.presenter.OptionsPresenter.Model
Expand Down
16 changes: 8 additions & 8 deletions options/ui-android/src/main/res/layout/options.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.design.widget.TextInputLayout
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/git_web_url"
android:layout_width="368dp"
android:layout_height="wrap_content"
Expand All @@ -16,13 +16,13 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
>
<android.support.design.widget.TextInputEditText
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/git_web_host"
/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/dac_url"
android:layout_width="368dp"
android:layout_height="wrap_content"
Expand All @@ -33,12 +33,12 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/git_web_url"
>
<android.support.design.widget.TextInputEditText
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/dac_host"
/>
</android.support.design.widget.TextInputLayout>
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/save"
android:layout_width="wrap_content"
Expand All @@ -59,4 +59,4 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/save"
/>
</android.support.constraint.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
2 changes: 1 addition & 1 deletion roboto/build.gradle
Expand Up @@ -18,5 +18,5 @@ android {
}

dependencies {
implementation deps.android.support.compat
implementation deps.androidx.core
}
10 changes: 5 additions & 5 deletions search/ui-android/build.gradle
Expand Up @@ -36,12 +36,12 @@ dependencies {
implementation deps.kotlin.coroutines.jdk
implementation deps.kotlin.coroutines.android

implementation deps.android.support.customTabs
implementation deps.android.support.recyclerView
implementation deps.android.support.constraintLayout
implementation deps.android.support.design
implementation deps.androidx.browser
implementation deps.androidx.constraintLayout
implementation deps.androidx.core
implementation deps.androidx.recyclerView

implementation deps.android.x.coreKtx
implementation deps.material
}

kotlin {
Expand Down
Expand Up @@ -3,8 +3,9 @@ package com.jakewharton.sdksearch.search.ui
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import androidx.core.content.systemService
import androidx.core.widget.toast
import android.widget.Toast
import android.widget.Toast.LENGTH_SHORT
import androidx.core.content.getSystemService
import com.jakewharton.sdksearch.store.item.Item
import okhttp3.HttpUrl

Expand All @@ -13,9 +14,9 @@ class ClipboardCopyItemHandler(
private val baseUrl: HttpUrl
) : ItemHandler {
override fun invoke(item: Item) {
val clipboard = context.systemService<ClipboardManager>()
val clipboard = context.getSystemService<ClipboardManager>()!!
val uri = baseUrl.resolve(item.link)!!
clipboard.primaryClip = ClipData.newPlainText(item.className, uri.toString())
context.toast(context.getString(R.string.copied, item.className))
Toast.makeText(context, context.getString(R.string.copied, item.className), LENGTH_SHORT).show()
}
}
@@ -1,8 +1,8 @@
package com.jakewharton.sdksearch.search.ui

import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.jakewharton.sdksearch.store.item.Item
import com.jakewharton.sdksearch.search.presenter.SearchPresenter.Model.QueryResults

Expand Down
@@ -1,6 +1,6 @@
package com.jakewharton.sdksearch.search.ui

import android.support.v7.util.DiffUtil
import androidx.recyclerview.widget.DiffUtil
import com.jakewharton.sdksearch.search.presenter.SearchPresenter.Model.QueryResults

internal class ItemDiffer(
Expand Down
@@ -1,8 +1,6 @@
package com.jakewharton.sdksearch.search.ui

import android.graphics.Typeface.BOLD
import android.support.v4.graphics.ColorUtils
import android.support.v7.widget.RecyclerView.ViewHolder
import android.text.style.ForegroundColorSpan
import android.text.style.StrikethroughSpan
import android.text.style.StyleSpan
Expand All @@ -13,10 +11,12 @@ import android.view.View.OnClickListener
import android.widget.PopupMenu
import android.widget.PopupMenu.OnMenuItemClickListener
import android.widget.TextView
import androidx.core.graphics.ColorUtils
import androidx.core.text.buildSpannedString
import androidx.core.text.inSpans
import androidx.core.text.set
import androidx.core.text.toSpannable
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.jakewharton.sdksearch.store.item.Item
import kotlin.LazyThreadSafetyMode.NONE

Expand Down
Expand Up @@ -3,8 +3,8 @@ package com.jakewharton.sdksearch.search.ui
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.support.customtabs.CustomTabsIntent
import android.util.TypedValue
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.graphics.drawable.toBitmap
import androidx.core.net.toUri
import com.jakewharton.sdksearch.reference.AndroidReference
Expand Down
@@ -1,10 +1,11 @@
package com.jakewharton.sdksearch.search.ui

import android.content.Context
import android.support.customtabs.CustomTabsIntent
import android.util.TypedValue
import android.widget.Toast
import android.widget.Toast.LENGTH_SHORT
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.net.toUri
import androidx.core.widget.toast
import com.jakewharton.sdksearch.store.item.Item
import com.jakewharton.sdksearch.reference.AndroidReference

Expand All @@ -25,7 +26,7 @@ class OpenSourceItemHandler(
.build()
.launchUrl(context, url.toUri())
} else {
context.toast(R.string.unknown_source)
Toast.makeText(context, R.string.unknown_source, LENGTH_SHORT).show()
}
}
}

0 comments on commit cbb740d

Please sign in to comment.