Skip to content

Commit dae41c8

Browse files
committed
Updated third-party libraries to the latest versions
1 parent 13c275f commit dae41c8

File tree

8 files changed

+77
-69
lines changed

8 files changed

+77
-69
lines changed

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@ apply plugin: 'com.android.application'
22

33
apply plugin: 'kotlin-android'
44

5-
apply plugin: 'kotlin-android-extensions'
65

76
android {
8-
compileSdkVersion 31
7+
compileSdkVersion 33
98
buildToolsVersion "30.0.3"
109
defaultConfig {
1110
applicationId "com.gapps.videonoapi"
1211
minSdkVersion 21
13-
targetSdkVersion 31
12+
targetSdkVersion 33
1413
versionCode 1
1514
versionName "1.0"
1615
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -22,21 +21,24 @@ android {
2221
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
2322
}
2423
}
24+
buildFeatures {
25+
viewBinding true
26+
}
2527
}
2628

2729
dependencies {
2830
implementation fileTree(dir: 'libs', include: ['*.jar'])
29-
implementation 'androidx.appcompat:appcompat:1.4.2'
30-
implementation 'androidx.core:core-ktx:1.8.0'
31+
implementation 'androidx.appcompat:appcompat:1.6.1'
32+
implementation 'androidx.core:core-ktx:1.10.0'
3133

32-
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
33-
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3'
34+
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
35+
implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0'
3436

3537
//Gson
3638
implementation(project(':embedded_video_lib'))
3739

38-
implementation 'androidx.recyclerview:recyclerview:1.2.1'
39-
implementation("io.coil-kt:coil:2.1.0")
40-
implementation("io.coil-kt:coil-gif:2.1.0")
40+
implementation 'androidx.recyclerview:recyclerview:1.3.0'
41+
implementation("io.coil-kt:coil:2.3.0")
42+
implementation("io.coil-kt:coil-gif:2.3.0")
4143
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
4244
}

app/src/main/java/com/gapps/videonoapi/ui/main/MainActivity.kt

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import com.gapps.library.api.VideoService
77
import com.gapps.library.api.models.video.VideoPreviewModel
88
import com.gapps.library.utils.isVideoUrl
99
import com.gapps.videonoapi.R
10+
import com.gapps.videonoapi.databinding.ActivityMainBinding
1011
import com.gapps.videonoapi.ui.base.BaseActivity
1112
import com.gapps.videonoapi.ui.main.adapters.VideoAdapter
1213
import com.gapps.videonoapi.ui.text.TextActivity
@@ -16,7 +17,6 @@ import com.gapps.videonoapi.utils.recycler_view.MarginItemDecoration
1617
import com.gapps.videonoapi.utils.scroll.ScrollListener
1718
import com.gapps.videonoapi.video_utils.ultimedia.UltimediaVideoInfoModel
1819
import com.gapps.videonoapi.video_utils.youtube.MyYoutubeVideoInfoModel
19-
import kotlinx.android.synthetic.main.activity_main.*
2020
import okhttp3.OkHttpClient
2121
import okhttp3.logging.HttpLoggingInterceptor
2222
import java.util.concurrent.TimeUnit
@@ -25,6 +25,8 @@ class MainActivity : BaseActivity() {
2525

2626
private lateinit var videoService: VideoService
2727

28+
private lateinit var binding: ActivityMainBinding
29+
2830
private val videoUrls = listOf(
2931
"https://www.youtube.com/watch?v=M4BSGZ07NNA",
3032
"https://music.youtube.com/watch?v=lFMOYjVCLUo",
@@ -47,7 +49,8 @@ class MainActivity : BaseActivity() {
4749

4850
override fun onCreate(savedInstanceState: Bundle?) {
4951
super.onCreate(savedInstanceState)
50-
setContentView(R.layout.activity_main)
52+
binding = ActivityMainBinding.inflate(layoutInflater)
53+
setContentView(binding.root)
5154

5255
initService()
5356

@@ -73,8 +76,8 @@ class MainActivity : BaseActivity() {
7376
}
7477
}
7578

76-
private fun initViews() {
77-
videos_list.apply {
79+
private fun initViews() = with(binding) {
80+
videosList.apply {
7881
layoutManager = LinearLayoutManager(this@MainActivity)
7982
val videoAdapter =
8083
VideoAdapter(
@@ -92,22 +95,20 @@ class MainActivity : BaseActivity() {
9295
}
9396

9497
addOnScrollListener(ScrollListener(convertDpToPx(100f)) {
95-
buttons_container.alphaSmooth(if (it) .1f else 1f)
98+
buttonsContainer.alphaSmooth(if (it) .1f else 1f)
9699
})
97-
98-
// addItemDecoration(MarginItemDecoration(videoAdapter, top = false, bottom = true))
99100
}
100101

101-
text_test.setOnClickListener {
102-
startActivity(Intent(this, TextActivity::class.java))
102+
textTest.setOnClickListener {
103+
startActivity(Intent(this@MainActivity, TextActivity::class.java))
103104
}
104105

105-
collapse_all.setOnClickListener {
106-
(videos_list.adapter as VideoAdapter).collapseAll()
106+
collapseAll.setOnClickListener {
107+
(videosList.adapter as VideoAdapter).collapseAll()
107108
}
108109

109110
swiperefresh.setOnRefreshListener {
110-
(videos_list.adapter as VideoAdapter).swapData(getValidUrls())
111+
(videosList.adapter as VideoAdapter).swapData(getValidUrls())
111112
swiperefresh.isRefreshing = false
112113
}
113114
}

app/src/main/java/com/gapps/videonoapi/ui/main/adapters/VideoAdapter.kt

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ import com.gapps.library.api.models.api.*
1515
import com.gapps.library.api.models.api.builder.EmbeddingRequest
1616
import com.gapps.library.api.models.video.VideoPreviewModel
1717
import com.gapps.videonoapi.R
18+
import com.gapps.videonoapi.databinding.ItemVideoBinding
1819
import com.gapps.videonoapi.utils.extensions.collapse
1920
import com.gapps.videonoapi.utils.extensions.convertDpToPx
2021
import com.gapps.videonoapi.utils.extensions.expand
2122
import com.gapps.videonoapi.utils.extensions.toggleArrow
2223
import com.gapps.videonoapi.utils.recycler_view.MarginItemDecoration
23-
import kotlinx.android.synthetic.main.item_video.view.*
2424

2525

2626
class VideoAdapter(
@@ -33,10 +33,10 @@ class VideoAdapter(
3333
private var data: MutableList<String> = mutableListOf()
3434
private val dataExpanded: SparseArray<Boolean> = SparseArray()
3535
private val loadedData: SparseArray<VideoPreviewModel?> = SparseArray()
36-
private val inflater = LayoutInflater.from(context)
3736

3837
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Holder {
39-
return Holder(inflater.inflate(R.layout.item_video, parent, false))
38+
val inflater = LayoutInflater.from(context)
39+
return Holder(ItemVideoBinding.inflate(inflater, parent, false))
4040
}
4141

4242
override fun getItemCount() = data.size
@@ -73,23 +73,24 @@ class VideoAdapter(
7373
this.notifyDataSetChanged()
7474
}
7575

76-
inner class Holder(itemView: View) : RecyclerView.ViewHolder(itemView) {
76+
inner class Holder(private val binding: ItemVideoBinding) :
77+
RecyclerView.ViewHolder(binding.root) {
7778
private var loadedDataItem: VideoPreviewModel? = null
7879

79-
fun bind(item: String, listener: Listener) = with(itemView) {
80+
fun bind(item: String, listener: Listener) = with(binding) {
8081
loadedDataItem = loadedData[adapterPosition]
8182

8283
val isVideoDataVisible = dataExpanded[adapterPosition] ?: false
8384
val isNeedToLoadData = loadedDataItem == null
8485

85-
video_link.text = item
86+
videoLink.text = item
8687

8788
progress.isVisible = isNeedToLoadData
88-
icon_drop_down.isVisible = isNeedToLoadData.not()
89-
video_preview_container.isVisible = isVideoDataVisible
90-
text_preview.isVisible = loadedDataItem?.videoTitle != null
89+
iconDropDown.isVisible = isNeedToLoadData.not()
90+
videoPreviewContainer.isVisible = isVideoDataVisible
91+
textPreview.isVisible = loadedDataItem?.videoTitle != null
9192

92-
icon_drop_down.toggleArrow(isVideoDataVisible, 0)
93+
iconDropDown.toggleArrow(isVideoDataVisible, 0)
9394

9495
if (loadedDataItem == null) {
9596
videoService.loadVideoPreview(
@@ -119,43 +120,43 @@ class VideoAdapter(
119120
initVideoView(loadedDataItem)
120121
}
121122

122-
video_data_container.setOnClickListener {
123+
videoDataContainer.setOnClickListener {
123124
loadedDataItem ?: return@setOnClickListener
124125

125126
val isExpanded = toggleLayoutExpand(
126127
(dataExpanded[bindingAdapterPosition] ?: false).not(),
127-
icon_drop_down,
128-
video_preview_container
128+
iconDropDown,
129+
videoPreviewContainer
129130
)
130131

131132
dataExpanded.put(bindingAdapterPosition, isExpanded)
132133
}
133134
}
134135

135-
private fun initVideoView(video: VideoPreviewModel?) = with(itemView) {
136-
video ?: return
136+
private fun initVideoView(video: VideoPreviewModel?) = with(binding) {
137+
video ?: return@with
137138

138139
val isError = video.errorMessage.isNullOrBlank().not()
139140

140141
progress.isVisible = false
141-
icon_drop_down.isVisible = true
142-
text_preview.isVisible = video.videoTitle.isNullOrBlank().not()
142+
iconDropDown.isVisible = true
143+
textPreview.isVisible = video.videoTitle.isNullOrBlank().not()
143144

144-
image_preview.load(video.thumbnailUrl) {
145+
imagePreview.load(video.thumbnailUrl) {
145146
placeholder(R.drawable.image_shop_1)
146147
error(R.drawable.image_shop_1)
147148
}
148149

149-
text_preview.text = video.videoTitle
150+
textPreview.text = video.videoTitle
150151

151-
image_play.isVisible = isError.not()
152+
imagePlay.isVisible = isError.not()
152153

153-
setVideoHostingLogo(video_host_logo, video.videoHosting)
154+
setVideoHostingLogo(videoHostLogo, video.videoHosting)
154155

155156
if (isError) {
156-
video_preview_container.setOnClickListener(null)
157+
videoPreviewContainer.setOnClickListener(null)
157158
} else {
158-
video_preview_container.setOnClickListener {
159+
videoPreviewContainer.setOnClickListener {
159160
val model = loadedDataItem ?: return@setOnClickListener
160161

161162
listener.onItemClick(model)

app/src/main/java/com/gapps/videonoapi/ui/text/TextActivity.kt

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ import android.text.style.ClickableSpan
99
import android.view.View
1010
import android.widget.Toast
1111
import com.gapps.library.api.VideoService
12-
import com.gapps.library.utils.patterns.PatternVideoLinksBuilder
1312
import com.gapps.library.utils.findVideos
14-
import com.gapps.videonoapi.R
15-
import com.gapps.videonoapi.video_utils.ultimedia.UltimediaVideoInfoModel
13+
import com.gapps.library.utils.patterns.PatternVideoLinksBuilder
14+
import com.gapps.videonoapi.databinding.ActivityTextBinding
1615
import com.gapps.videonoapi.ui.base.BaseActivity
17-
import kotlinx.android.synthetic.main.activity_text.*
16+
import com.gapps.videonoapi.video_utils.ultimedia.UltimediaVideoInfoModel
1817
import okhttp3.OkHttpClient
1918
import okhttp3.logging.HttpLoggingInterceptor
2019
import java.util.concurrent.TimeUnit
2120

2221

2322
class TextActivity : BaseActivity() {
2423

24+
private lateinit var binding: ActivityTextBinding
2525
private lateinit var videoService: VideoService
2626

2727
private val textString =
@@ -37,7 +37,8 @@ class TextActivity : BaseActivity() {
3737

3838
override fun onCreate(savedInstanceState: Bundle?) {
3939
super.onCreate(savedInstanceState)
40-
setContentView(R.layout.activity_text)
40+
binding = ActivityTextBinding.inflate(layoutInflater)
41+
setContentView(binding.root)
4142

4243
initService()
4344

@@ -66,7 +67,7 @@ class TextActivity : BaseActivity() {
6667
private fun initViews() {
6768
initTextView(false)
6869

69-
clearLinks.setOnCheckedChangeListener { _, isChecked ->
70+
binding.clearLinks.setOnCheckedChangeListener { _, isChecked ->
7071
initTextView(isChecked)
7172
}
7273
}
@@ -87,9 +88,11 @@ class TextActivity : BaseActivity() {
8788
)
8889
}
8990

90-
text.text = spannableString
91-
text.movementMethod = LinkMovementMethod.getInstance()
92-
text.highlightColor = Color.TRANSPARENT
91+
binding.text.run {
92+
text = spannableString
93+
movementMethod = LinkMovementMethod.getInstance()
94+
highlightColor = Color.TRANSPARENT
95+
}
9396
}
9497

9598
private fun loadVideoInfo(url: String) {

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22

33
buildscript {
4-
ext.kotlin_version = '1.5.20'
4+
ext.kotlin_version = '1.8.0'
55

66
repositories {
77
google()
88
mavenCentral()
99
}
1010
dependencies {
11-
classpath "com.android.tools.build:gradle:7.0.4"
11+
classpath "com.android.tools.build:gradle:7.4.2"
1212
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
1313
// NOTE: Do not place your application dependencies here; they belong
1414
// in the individual module build.gradle files

embedded_video_lib/build.gradle

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
apply plugin: 'com.android.library'
22
apply plugin: 'kotlin-android'
3-
apply plugin: 'kotlin-android-extensions'
43
android {
5-
compileSdkVersion 31
4+
compileSdkVersion 33
65
buildToolsVersion "30.0.3"
76

87
defaultConfig {
98
minSdkVersion 19
10-
targetSdkVersion 31
9+
targetSdkVersion 33
1110
versionCode 1
1211
versionName "1.0"
1312

@@ -23,20 +22,22 @@ android {
2322
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
2423
}
2524
}
26-
25+
buildFeatures {
26+
viewBinding true
27+
}
2728
}
2829

2930
dependencies {
3031
//AndroidX
31-
api 'androidx.appcompat:appcompat:1.4.1'
32-
api 'com.google.android.material:material:1.5.0'
33-
api 'androidx.core:core-ktx:1.7.0'
32+
api 'androidx.appcompat:appcompat:1.6.1'
33+
api 'com.google.android.material:material:1.8.0'
34+
api 'androidx.core:core-ktx:1.10.0'
3435

3536
//Gson
36-
api 'com.google.code.gson:gson:2.8.7'
37+
api 'com.google.code.gson:gson:2.9.0'
3738
//Coroutines
38-
api 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2'
39+
api 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
3940

4041
//OkHttp
41-
api 'com.squareup.okhttp3:okhttp:4.9.3'
42+
api 'com.squareup.okhttp3:okhttp:4.10.0'
4243
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Wed Mar 02 20:57:14 EET 2022
1+
#Wed Apr 12 22:46:23 GMT+02:00 2023
22
distributionBase=GRADLE_USER_HOME
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
44
distributionPath=wrapper/dists
55
zipStorePath=wrapper/dists
66
zipStoreBase=GRADLE_USER_HOME

0 commit comments

Comments
 (0)