Skip to content

Commit

Permalink
Migrates to AndroidX
Browse files Browse the repository at this point in the history
  • Loading branch information
hufman committed Nov 24, 2020
1 parent 437ef41 commit 62688a1
Show file tree
Hide file tree
Showing 38 changed files with 143 additions and 145 deletions.
2 changes: 1 addition & 1 deletion IDriveConnectKitAndroid
31 changes: 15 additions & 16 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ android {
targetSdkVersion 28
versionCode androidGitVersion.code()
versionName androidGitVersion.name()
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
archivesBaseName = "androidautoidrive-${androidGitVersion.name()}"
buildConfigField "long", "BUILD_TIME", System.currentTimeMillis() + "L"

Expand Down Expand Up @@ -344,14 +344,15 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.1'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'android.arch.lifecycle:extensions:1.1.1'
implementation 'android.arch.lifecycle:viewmodel:1.1.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.2.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'com.github.wax911:android-emojify:1.5.3'
implementation project(path: ':spotify-app-remote')
implementation "com.google.code.gson:gson:2.8.5"
Expand All @@ -360,8 +361,8 @@ dependencies {
implementation "ar.com.hjg:pngj:2.1.0"

testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
testImplementation "org.mockito:mockito-core:2.23.4"
testImplementation 'com.nhaarman:mockito-kotlin:1.6.0'
testImplementation 'org.awaitility:awaitility-scala:3.1.5'
Expand All @@ -377,11 +378,9 @@ dependencies {
androidTestImplementation "org.bouncycastle:bcmail-jdk16:1.46"

implementation 'com.luckycatlabs:SunriseSunsetCalculator:1.2'
gmapImplementation 'com.google.android.gms:play-services-maps:16.0.0'
gmapImplementation 'com.google.android.gms:play-services-location:16.0.0'
gmapImplementation 'com.google.android.libraries.places:places:1.1.0'
gmapImplementation 'com.android.support:cardview-v7:28.0.0'
gmapImplementation 'com.android.support:recyclerview-v7:28.0.0'
gmapImplementation 'com.google.android.gms:play-services-maps:17.0.0'
gmapImplementation 'com.google.android.gms:play-services-location:17.1.0'
gmapImplementation 'com.google.android.libraries.places:places:2.4.0'
gmapImplementation 'com.google.maps:google-maps-services:0.1.20'

sentryImplementation 'io.sentry:sentry-android:1.7.16'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import android.hardware.display.VirtualDisplay
import android.media.ImageReader
import android.os.Handler
import android.os.Looper
import android.support.v4.content.ContextCompat
import android.util.Log
import androidx.core.content.ContextCompat
import me.hufman.androidautoidrive.carapp.maps.*
import me.hufman.idriveconnectionkit.android.security.SecurityAccess

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import android.content.pm.PackageManager
import android.hardware.display.VirtualDisplay
import android.os.Handler
import android.os.Looper
import android.support.v4.content.ContextCompat
import androidx.core.content.ContextCompat
import android.util.Log
import com.google.android.gms.location.LocationCallback
import com.google.android.gms.location.LocationRequest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import android.content.Intent
import android.content.IntentFilter
import android.content.pm.PackageManager
import android.os.Bundle
import android.support.v4.content.ContextCompat
import androidx.core.content.ContextCompat
import android.util.Log
import android.view.Display
import android.view.WindowManager
Expand Down
4 changes: 2 additions & 2 deletions app/src/gmap/res/layout/gmaps_projection.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
Expand All @@ -12,4 +12,4 @@
android:layout_marginStart="0dp"
android:layout_marginTop="0dp"
map:mapType="normal" />
</android.support.constraint.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package me.hufman.androidautoidrive

import android.content.Context
import android.support.annotation.VisibleForTesting
import androidx.annotation.VisibleForTesting
import io.wax911.emojify.EmojiManager
import io.wax911.emojify.model.Emoji
import io.wax911.emojify.parser.EmojiParser
Expand Down
10 changes: 5 additions & 5 deletions app/src/main/java/me/hufman/androidautoidrive/Utils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@ import android.graphics.*
import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.Drawable
import android.os.Bundle
import android.support.annotation.AttrRes
import android.support.annotation.ColorInt
import android.util.TypedValue
import androidx.annotation.AttrRes
import androidx.annotation.ColorInt
import ar.com.hjg.pngj.*
import ar.com.hjg.pngj.chunks.PngChunkPLTE
import java.io.ByteArrayOutputStream
import java.io.InputStream
import java.util.zip.ZipInputStream
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.withTimeout
import org.json.JSONException
import org.json.JSONObject
import java.io.ByteArrayOutputStream
import java.io.InputStream
import java.util.zip.ZipInputStream

object Utils {
val FILTER_NEGATIVE by lazy {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import android.content.Context
import android.content.Intent
import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
import android.os.Build
import android.support.v4.app.NotificationCompat
import android.support.v4.app.NotificationManagerCompat
import android.util.Log
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import me.hufman.androidautoidrive.ApplicationCallbacks
import me.hufman.androidautoidrive.PhoneAppResources
import me.hufman.androidautoidrive.R
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ class NavigationParser(val addressSearcher: AddressSearcher) {
} catch (e: IllegalArgumentException) {
return null
}
if (olc.isShort && reference != null) {
if (olc.isShort && reference.isNotBlank()) {
val referenceName = reference.replace('+', ' ').trim()
val result = addressSearcher.search(referenceName) ?: return null
olc = olc.recover(result.latitude, result.longitude)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package me.hufman.androidautoidrive.carapp.notifications

import android.support.annotation.VisibleForTesting
import androidx.annotation.VisibleForTesting
import me.hufman.androidautoidrive.notifications.CarNotification
import java.util.*
import kotlin.collections.LinkedHashMap
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package me.hufman.androidautoidrive.music
import android.content.Context
import android.content.Intent
import android.os.Handler
import android.support.v4.media.MediaBrowserServiceCompat
import android.util.Log
import androidx.media.MediaBrowserServiceCompat
import kotlinx.coroutines.*
import kotlinx.coroutines.android.asCoroutineDispatcher
import me.hufman.androidautoidrive.Analytics
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ import android.os.Bundle
import android.os.Parcelable
import android.service.notification.NotificationListenerService
import android.service.notification.StatusBarNotification
import android.support.annotation.RequiresApi
import android.support.v4.app.NotificationCompat
import android.support.v4.app.NotificationManagerCompat.*
import android.util.Log
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.RemoteViews
import android.widget.TextView
import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat.*
import me.hufman.androidautoidrive.PhoneAppResources
import me.hufman.androidautoidrive.PhoneAppResourcesAndroid
import me.hufman.androidautoidrive.UnicodeCleaner
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package me.hufman.androidautoidrive.notifications

import android.support.annotation.VisibleForTesting
import androidx.annotation.VisibleForTesting
import java.util.*

object NotificationsState {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
import android.support.v4.app.ActivityCompat
import android.support.v4.app.NotificationManagerCompat
import android.support.v4.content.ContextCompat
import android.support.v7.app.AppCompatActivity
import android.util.Log
import android.widget.Toast
import androidx.core.app.ActivityCompat
import androidx.core.app.NotificationManagerCompat
import androidx.core.content.ContextCompat
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_notifications.*
import me.hufman.androidautoidrive.AppSettings
import me.hufman.androidautoidrive.MutableAppSettings
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,18 @@ import android.graphics.drawable.Animatable2
import android.graphics.drawable.AnimatedVectorDrawable
import android.graphics.drawable.Drawable
import android.net.Uri
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
import android.support.v4.app.ActivityCompat
import android.support.v4.app.NotificationManagerCompat
import android.support.v4.content.ContextCompat
import android.util.Log
import android.view.View
import android.view.ViewGroup
import android.widget.*
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.app.NotificationManagerCompat
import androidx.core.content.ContextCompat
import java.lang.IllegalStateException
import kotlin.math.max
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.activity_main.listMusicApps
import me.hufman.androidautoidrive.*
Expand All @@ -27,8 +29,6 @@ import me.hufman.androidautoidrive.carapp.assistant.AssistantControllerAndroid
import me.hufman.androidautoidrive.music.MusicAppInfo
import me.hufman.idriveconnectionkit.android.IDriveConnectionListener
import me.hufman.idriveconnectionkit.android.security.SecurityAccess
import java.lang.IllegalStateException
import kotlin.math.max

class MainActivity : AppCompatActivity() {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@ import android.graphics.drawable.AnimatedVectorDrawable
import android.graphics.drawable.Drawable
import android.os.Bundle
import android.os.Handler
import android.support.v4.app.FragmentManager
import android.support.v4.app.NotificationManagerCompat
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.support.v7.widget.helper.ItemTouchHelper
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import androidx.fragment.app.FragmentManager
import androidx.core.app.NotificationManagerCompat
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.ItemTouchHelper
import kotlinx.android.synthetic.main.activity_music.*
import kotlinx.android.synthetic.main.activity_music.btnGrantSessions
import kotlinx.android.synthetic.main.activity_music.listMusicApps
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package me.hufman.androidautoidrive.phoneui

import android.arch.lifecycle.ViewModel
import android.graphics.Bitmap
import androidx.lifecycle.ViewModel
import me.hufman.androidautoidrive.music.MusicController

class MusicActivityModel(): ViewModel() {
class MusicActivityModel: ViewModel() {
var musicController: MusicController? = null
val icons = HashMap<String, Bitmap>()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package me.hufman.androidautoidrive.phoneui

import android.app.Activity
import android.os.Bundle
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.ViewModelProvider
import kotlinx.android.synthetic.main.music_browsepage.*
import me.hufman.androidautoidrive.R

class MusicBrowseFragment: Fragment() {
Expand All @@ -32,6 +35,13 @@ class MusicBrowseFragment: Fragment() {
return view
}

fun onActive() {
val viewModel = ViewModelProvider(requireActivity()).get(MusicActivityModel::class.java)
viewModel.musicController?.listener = kotlinx.coroutines.Runnable {
(this.context as Activity).listBrowse.adapter?.notifyDataSetChanged()
}
}

fun replaceFragment(fragment: Fragment, addToBackstack: Boolean = true) {
val fragmentManager = fm ?: return

Expand All @@ -46,7 +56,7 @@ class MusicBrowseFragment: Fragment() {

fun onBackPressed(): Boolean {
val fragmentManager = fm ?: return false
if (userVisibleHint && fragmentManager.backStackEntryCount > 0) {
if (isVisible && fragmentManager.backStackEntryCount > 0) {
fragmentManager.popBackStack()
return true
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,29 +1,26 @@
package me.hufman.androidautoidrive.phoneui

import android.app.Activity
import android.arch.lifecycle.ViewModelProviders
import android.content.Context
import android.graphics.Bitmap
import android.os.Bundle
import android.os.Handler
import android.support.v4.app.Fragment
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import kotlin.coroutines.CoroutineContext
import kotlinx.android.synthetic.main.music_browsepage.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.*
import me.hufman.androidautoidrive.R
import me.hufman.androidautoidrive.music.MusicController
import me.hufman.androidautoidrive.music.MusicMetadata
import kotlinx.coroutines.*
import me.hufman.androidautoidrive.Utils
import me.hufman.androidautoidrive.getThemeColor
import kotlin.coroutines.CoroutineContext

class MusicBrowsePageFragment: Fragment(), CoroutineScope {
override val coroutineContext: CoroutineContext
Expand All @@ -47,24 +44,18 @@ class MusicBrowsePageFragment: Fragment(), CoroutineScope {
var loaderJob: Job? = null
val contents = ArrayList<MusicMetadata>()

fun onActive() {
musicController.listener = Runnable {
(this.context as Activity).listBrowse.adapter?.notifyDataSetChanged()
}
}

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.music_browsepage, container, false)
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
val viewModel = ViewModelProviders.of(requireActivity()).get(MusicActivityModel::class.java)
val viewModel = ViewModelProvider(requireActivity()).get(MusicActivityModel::class.java)
val musicController = viewModel.musicController ?: return
this.musicController = musicController

listBrowse.setHasFixedSize(true)
listBrowse.layoutManager = LinearLayoutManager(this.context)
listBrowse.adapter = BrowseAdapter(this.context!!, viewModel.icons, contents) { mediaEntry ->
listBrowse.adapter = BrowseAdapter(this.requireContext(), viewModel.icons, contents) { mediaEntry ->
if (mediaEntry != null) {
if (mediaEntry.browseable) {
(activity as MusicPlayerActivity).pushBrowse(mediaEntry)
Expand Down
Loading

0 comments on commit 62688a1

Please sign in to comment.