From 8de2f45e5840310e2cf7483422335654f4e946ef Mon Sep 17 00:00:00 2001 From: ct7ct7ct7 Date: Wed, 20 Apr 2022 22:20:03 +0800 Subject: [PATCH 1/4] Upgrade gradle version. --- build.gradle | 32 ++++-------------------- gradle/wrapper/gradle-wrapper.properties | 2 +- library/build.gradle | 28 +++++++++++++-------- sample/build.gradle | 30 +++++++++++++++------- settings.gradle | 18 ++++++++++++- 5 files changed, 62 insertions(+), 48 deletions(-) diff --git a/build.gradle b/build.gradle index e30e3d1..2b8d214 100644 --- a/build.gradle +++ b/build.gradle @@ -1,30 +1,8 @@ -buildscript { - - project.ext { - compileSdk = 28 - minSdk = 19 - targetSdk = 28 - - kotlin_version = '1.3.11' - } - - repositories { - google() - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:3.3.1' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' - } -} - -allprojects { - repositories { - google() - jcenter() - } +plugins { + id 'com.android.application' version '7.1.3' apply false + id 'com.android.library' version '7.1.3' apply false + id 'org.jetbrains.kotlin.android' version '1.6.20' apply false + id "org.jetbrains.kotlin.kapt" version "1.6.20" apply false } task clean(type: Delete) { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6076b96..074e160 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip diff --git a/library/build.gradle b/library/build.gradle index e7aa7b4..416ec8a 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,13 +1,18 @@ -apply plugin: 'com.android.library' +plugins { + id 'com.android.library' + id 'org.jetbrains.kotlin.android' +// from rootProject.file('bintray.gradle') +} + android { - compileSdkVersion compileSdk + compileSdk 28 defaultConfig { - minSdkVersion minSdk - targetSdkVersion targetSdk - versionCode 1 - versionName "1.0" + minSdk 19 + targetSdk 28 + + consumerProguardFiles "consumer-rules.pro" } buildTypes { @@ -16,9 +21,14 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } - + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = '1.8' + } } - dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:28.0.0' @@ -27,5 +37,3 @@ dependencies { implementation 'com.github.bumptech.glide:glide:4.8.0' implementation 'com.squareup.okhttp3:okhttp:3.12.0' } - -apply from: rootProject.file('bintray.gradle') diff --git a/sample/build.gradle b/sample/build.gradle index 1a8c70e..6b86b84 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -1,18 +1,23 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' + id 'kotlin-parcelize' + id 'kotlin-kapt' + +} android { - compileSdkVersion compileSdk + compileSdk 28 defaultConfig { applicationId "com.ct7ct7ct7.androidvimeoplayersample" - minSdkVersion minSdk - targetSdkVersion targetSdk - versionCode 1 - versionName "1.0" + minSdk 19 + targetSdk 28 + + consumerProguardFiles "consumer-rules.pro" } + buildTypes { release { minifyEnabled false @@ -20,12 +25,19 @@ android { } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = '1.8' + } + } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation project(':library') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.android.support:design:28.0.0' diff --git a/settings.gradle b/settings.gradle index 52baf7e..fe48fe1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,17 @@ -include ':sample', ':library' +pluginManagement { + repositories { + gradlePluginPortal() + google() + mavenCentral() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} +rootProject.name = "AndroidVimeoPlayer" +include ':sample' +include ':library' From 918a8e82488feaccfc085c1d4551628cd2fb76a3 Mon Sep 17 00:00:00 2001 From: ct7ct7ct7 Date: Wed, 20 Apr 2022 22:55:26 +0800 Subject: [PATCH 2/4] Replace kotlin-synthetic to view-binding. --- sample/build.gradle | 4 +- .../androidvimeoplayersample/MainActivity.kt | 72 ++++++++++--------- .../examples/FullscreenActivity.kt | 28 ++++---- .../examples/MenuActivity.kt | 26 ++++--- .../examples/OriginalControlsActivity.kt | 16 +++-- .../examples/RecyclerViewActivity.kt | 44 +++--------- .../examples/TestRecyclerViewAdapter.kt | 29 ++++++++ 7 files changed, 119 insertions(+), 100 deletions(-) create mode 100644 sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/TestRecyclerViewAdapter.kt diff --git a/sample/build.gradle b/sample/build.gradle index 6b86b84..fbe5f15 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -32,7 +32,9 @@ android { kotlinOptions { jvmTarget = '1.8' } - + buildFeatures { + viewBinding true + } } dependencies { diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/MainActivity.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/MainActivity.kt index 313c3ad..791f975 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/MainActivity.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/MainActivity.kt @@ -9,33 +9,35 @@ import android.widget.Toast import com.ct7ct7ct7.androidvimeoplayer.listeners.VimeoPlayerReadyListener import com.ct7ct7ct7.androidvimeoplayer.listeners.VimeoPlayerStateListener import com.ct7ct7ct7.androidvimeoplayer.model.TextTrack +import com.ct7ct7ct7.androidvimeoplayersample.databinding.ActivityMainBinding import com.ct7ct7ct7.androidvimeoplayersample.examples.FullscreenActivity import com.ct7ct7ct7.androidvimeoplayersample.examples.MenuActivity import com.ct7ct7ct7.androidvimeoplayersample.examples.OriginalControlsActivity import com.ct7ct7ct7.androidvimeoplayersample.examples.RecyclerViewActivity -import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { + private lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) + binding = ActivityMainBinding.inflate(layoutInflater) + setContentView(binding.root) setupToolbar() setupView() } private fun setupToolbar() { - toolbar.setNavigationIcon(R.drawable.ic_menu_white) - toolbar.setNavigationOnClickListener { v -> - if (drawerLayout.isDrawerOpen(navigationView)) { - drawerLayout.closeDrawers() + binding.toolbar.setNavigationIcon(R.drawable.ic_menu_white) + binding.toolbar.setNavigationOnClickListener { v -> + if (binding.drawerLayout.isDrawerOpen(binding.navigationView)) { + binding.drawerLayout.closeDrawers() } else { - drawerLayout.openDrawer(navigationView) + binding.drawerLayout.openDrawer(binding.navigationView) } } - navigationView.setNavigationItemSelectedListener { menuItem -> + binding.navigationView.setNavigationItemSelectedListener { menuItem -> when (menuItem.itemId) { R.id.fullscreenExampleItem -> { startActivity(Intent(this@MainActivity, FullscreenActivity::class.java)) @@ -59,48 +61,48 @@ class MainActivity : AppCompatActivity() { } private fun setupView() { - lifecycle.addObserver(vimeoPlayer) - vimeoPlayer.initialize(true, 59777392) + lifecycle.addObserver(binding.vimeoPlayer) + binding.vimeoPlayer.initialize(true, 59777392) //vimeoPlayer.initialize(true, {YourPrivateVideoId}, "SettingsEmbeddedUrl") //vimeoPlayer.initialize(true, {YourPrivateVideoId},"VideoHashKey", "SettingsEmbeddedUrl") - vimeoPlayer.addTimeListener { second -> - playerCurrentTimeTextView.text = getString(R.string.player_current_time, second.toString()) + binding.vimeoPlayer.addTimeListener { second -> + binding.playerCurrentTimeTextView.text = getString(R.string.player_current_time, second.toString()) } - vimeoPlayer.addErrorListener { message, method, name -> + binding.vimeoPlayer.addErrorListener { message, method, name -> Toast.makeText(this, message, Toast.LENGTH_LONG).show() } - vimeoPlayer.addReadyListener(object : VimeoPlayerReadyListener { + binding.vimeoPlayer.addReadyListener(object : VimeoPlayerReadyListener { override fun onReady(title: String?, duration: Float, textTrackArray: Array) { - playerStateTextView.text = getString(R.string.player_state, "onReady") + binding.playerStateTextView.text = getString(R.string.player_state, "onReady") } override fun onInitFailed() { - playerStateTextView.text = getString(R.string.player_state, "onInitFailed") + binding.playerStateTextView.text = getString(R.string.player_state, "onInitFailed") } }) - vimeoPlayer.addStateListener(object : VimeoPlayerStateListener { + binding.vimeoPlayer.addStateListener(object : VimeoPlayerStateListener { override fun onPlaying(duration: Float) { - playerStateTextView.text = getString(R.string.player_state, "onPlaying") + binding.playerStateTextView.text = getString(R.string.player_state, "onPlaying") } override fun onPaused(seconds: Float) { - playerStateTextView.text = getString(R.string.player_state, "onPaused") + binding.playerStateTextView.text = getString(R.string.player_state, "onPaused") } override fun onEnded(duration: Float) { - playerStateTextView.text = getString(R.string.player_state, "onEnded") + binding.playerStateTextView.text = getString(R.string.player_state, "onEnded") } }) - volumeSeekBar.progress = 100 - volumeSeekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { + binding.volumeSeekBar.progress = 100 + binding.volumeSeekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) { var volume = progress.toFloat() / 100 - vimeoPlayer.setVolume(volume) + binding.vimeoPlayer.setVolume(volume) } override fun onStartTrackingTouch(seekBar: SeekBar?) { @@ -110,28 +112,28 @@ class MainActivity : AppCompatActivity() { } }) - vimeoPlayer.addVolumeListener { volume -> - playerVolumeTextView.text = getString(R.string.player_volume, volume.toString()) + binding.vimeoPlayer.addVolumeListener { volume -> + binding.playerVolumeTextView.text = getString(R.string.player_volume, volume.toString()) } - playButton.setOnClickListener { - vimeoPlayer.play() + binding.playButton.setOnClickListener { + binding.vimeoPlayer.play() } - pauseButton.setOnClickListener { - vimeoPlayer.pause() + binding.pauseButton.setOnClickListener { + binding.vimeoPlayer.pause() } - getCurrentTimeButton.setOnClickListener { - Toast.makeText(this, getString(R.string.player_current_time, vimeoPlayer.currentTimeSeconds.toString()), Toast.LENGTH_LONG).show() + binding.getCurrentTimeButton.setOnClickListener { + Toast.makeText(this, getString(R.string.player_current_time, binding.vimeoPlayer.currentTimeSeconds.toString()), Toast.LENGTH_LONG).show() } - loadVideoButton.setOnClickListener { - vimeoPlayer.loadVideo(19231868) + binding.loadVideoButton.setOnClickListener { + binding.vimeoPlayer.loadVideo(19231868) } - colorButton.setOnClickListener { - vimeoPlayer.topicColor = Color.GREEN + binding.colorButton.setOnClickListener { + binding.vimeoPlayer.topicColor = Color.GREEN } } } diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/FullscreenActivity.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/FullscreenActivity.kt index fe5ef28..39f5def 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/FullscreenActivity.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/FullscreenActivity.kt @@ -7,33 +7,37 @@ import android.support.v7.app.AppCompatActivity import com.ct7ct7ct7.androidvimeoplayer.model.PlayerState import com.ct7ct7ct7.androidvimeoplayer.view.VimeoPlayerActivity import com.ct7ct7ct7.androidvimeoplayersample.R -import kotlinx.android.synthetic.main.activity_fullscreen.* +import com.ct7ct7ct7.androidvimeoplayersample.databinding.ActivityFullscreenBinding class FullscreenActivity : AppCompatActivity() { + + private lateinit var binding: ActivityFullscreenBinding + var REQUEST_CODE = 1234 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_fullscreen) + binding = ActivityFullscreenBinding.inflate(layoutInflater) + setContentView(binding.root) setupToolbar() setupView() } private fun setupToolbar() { - toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white) - toolbar.setNavigationOnClickListener { + binding.toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white) + binding.toolbar.setNavigationOnClickListener { onBackPressed() } } private fun setupView() { - lifecycle.addObserver(vimeoPlayer) - vimeoPlayer.initialize(true, 59777392) - vimeoPlayer.setFullscreenVisibility(true) + lifecycle.addObserver(binding.vimeoPlayer) + binding.vimeoPlayer.initialize(true, 59777392) + binding.vimeoPlayer.setFullscreenVisibility(true) - vimeoPlayer.setFullscreenClickListener { + binding.vimeoPlayer.setFullscreenClickListener { var requestOrientation = VimeoPlayerActivity.REQUEST_ORIENTATION_AUTO - startActivityForResult(VimeoPlayerActivity.createIntent(this, requestOrientation, vimeoPlayer), REQUEST_CODE) + startActivityForResult(VimeoPlayerActivity.createIntent(this, requestOrientation, binding.vimeoPlayer), REQUEST_CODE) } } @@ -42,12 +46,12 @@ class FullscreenActivity : AppCompatActivity() { if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE) { var playAt = data!!.getFloatExtra(VimeoPlayerActivity.RESULT_STATE_VIDEO_PLAY_AT, 0f) - vimeoPlayer.seekTo(playAt) + binding.vimeoPlayer.seekTo(playAt) var playerState = PlayerState.valueOf(data!!.getStringExtra(VimeoPlayerActivity.RESULT_STATE_PLAYER_STATE)) when (playerState) { - PlayerState.PLAYING -> vimeoPlayer.play() - PlayerState.PAUSED -> vimeoPlayer.pause() + PlayerState.PLAYING -> binding.vimeoPlayer.play() + PlayerState.PAUSED -> binding.vimeoPlayer.pause() } } } diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/MenuActivity.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/MenuActivity.kt index 2dfb68a..5a431e3 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/MenuActivity.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/MenuActivity.kt @@ -6,36 +6,40 @@ import android.view.View import android.widget.Toast import com.ct7ct7ct7.androidvimeoplayer.view.menu.ViemoMenuItem import com.ct7ct7ct7.androidvimeoplayersample.R -import kotlinx.android.synthetic.main.activity_menu.* +import com.ct7ct7ct7.androidvimeoplayersample.databinding.ActivityMenuBinding + class MenuActivity : AppCompatActivity() { + private lateinit var binding: ActivityMenuBinding + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_menu) + binding = ActivityMenuBinding.inflate(layoutInflater) + setContentView(binding.root) setupToolbar() setupView() } private fun setupToolbar() { - toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white) - toolbar.setNavigationOnClickListener { + binding.toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white) + binding.toolbar.setNavigationOnClickListener { onBackPressed() } } private fun setupView() { - lifecycle.addObserver(vimeoPlayer) - vimeoPlayer.initialize(true, 59777392) + lifecycle.addObserver(binding.vimeoPlayer) + binding.vimeoPlayer.initialize(true, 59777392) - vimeoPlayer.setMenuVisibility(true) - vimeoPlayer.addMenuItem(ViemoMenuItem("settings", R.drawable.ic_settings, View.OnClickListener { + binding.vimeoPlayer.setMenuVisibility(true) + binding.vimeoPlayer.addMenuItem(ViemoMenuItem("settings", R.drawable.ic_settings, View.OnClickListener { Toast.makeText(this, "settings clicked", Toast.LENGTH_SHORT).show() - vimeoPlayer.dismissMenuItem() + binding.vimeoPlayer.dismissMenuItem() })) - vimeoPlayer.addMenuItem(ViemoMenuItem("star", R.drawable.ic_star, View.OnClickListener { + binding.vimeoPlayer.addMenuItem(ViemoMenuItem("star", R.drawable.ic_star, View.OnClickListener { Toast.makeText(this, "star clicked", Toast.LENGTH_SHORT).show() - vimeoPlayer.dismissMenuItem() + binding.vimeoPlayer.dismissMenuItem() })) } } \ No newline at end of file diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/OriginalControlsActivity.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/OriginalControlsActivity.kt index b9aa367..290032f 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/OriginalControlsActivity.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/OriginalControlsActivity.kt @@ -3,26 +3,30 @@ package com.ct7ct7ct7.androidvimeoplayersample.examples import android.os.Bundle import android.support.v7.app.AppCompatActivity import com.ct7ct7ct7.androidvimeoplayersample.R -import kotlinx.android.synthetic.main.activity_original_controls.* +import com.ct7ct7ct7.androidvimeoplayersample.databinding.ActivityOriginalControlsBinding class OriginalControlsActivity : AppCompatActivity() { + private lateinit var binding: ActivityOriginalControlsBinding + + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_original_controls) + binding = ActivityOriginalControlsBinding.inflate(layoutInflater) + setContentView(binding.root) setupToolbar() setupView() } private fun setupToolbar() { - toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white) - toolbar.setNavigationOnClickListener { + binding.toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white) + binding.toolbar.setNavigationOnClickListener { onBackPressed() } } private fun setupView() { - lifecycle.addObserver(vimeoPlayer) - vimeoPlayer.initialize(true, 59777392) + lifecycle.addObserver(binding.vimeoPlayer) + binding.vimeoPlayer.initialize(true, 59777392) } } \ No newline at end of file diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/RecyclerViewActivity.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/RecyclerViewActivity.kt index 9eccb90..51c6278 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/RecyclerViewActivity.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/RecyclerViewActivity.kt @@ -1,31 +1,28 @@ package com.ct7ct7ct7.androidvimeoplayersample.examples -import android.arch.lifecycle.Lifecycle import android.os.Bundle import android.support.v7.app.AppCompatActivity 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 com.ct7ct7ct7.androidvimeoplayersample.R -import kotlinx.android.synthetic.main.activity_recyclerview.* -import kotlinx.android.synthetic.main.item_recyclerview.view.* +import com.ct7ct7ct7.androidvimeoplayersample.databinding.ActivityRecyclerviewBinding import java.util.ArrayList class RecyclerViewActivity : AppCompatActivity() { + private lateinit var binding: ActivityRecyclerviewBinding + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_recyclerview) + binding = ActivityRecyclerviewBinding.inflate(layoutInflater) + setContentView(binding.root) setupToolbar() setupView() } private fun setupToolbar() { - toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white) - toolbar.setNavigationOnClickListener { + binding.toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white) + binding.toolbar.setNavigationOnClickListener { onBackPressed() } } @@ -40,30 +37,7 @@ class RecyclerViewActivity : AppCompatActivity() { ids.add(19231868) val adapter = TestRecyclerViewAdapter(lifecycle, ids) - recyclerView.layoutManager = LinearLayoutManager(this@RecyclerViewActivity) - recyclerView.adapter = adapter - } - - - private class TestRecyclerViewAdapter(val lifecycle: Lifecycle, val items: ArrayList) : RecyclerView.Adapter() { - - override fun onBindViewHolder(holder: ViewHolder, position: Int) { - var id = items[position] - holder.vimeoPlayer.initialize(true, id) - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_recyclerview, parent, false) - lifecycle.addObserver(view.vimeoPlayer) - return ViewHolder(view) - } - - override fun getItemCount(): Int { - return items.size - } - - class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { - val vimeoPlayer = view.vimeoPlayer - } + binding.recyclerView.layoutManager = LinearLayoutManager(this@RecyclerViewActivity) + binding.recyclerView.adapter = adapter } } \ No newline at end of file diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/TestRecyclerViewAdapter.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/TestRecyclerViewAdapter.kt new file mode 100644 index 0000000..93c686f --- /dev/null +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/TestRecyclerViewAdapter.kt @@ -0,0 +1,29 @@ +package com.ct7ct7ct7.androidvimeoplayersample.examples + +import android.arch.lifecycle.Lifecycle +import android.support.v7.widget.RecyclerView +import android.view.LayoutInflater +import android.view.ViewGroup +import com.ct7ct7ct7.androidvimeoplayersample.databinding.ItemRecyclerviewBinding +import java.util.ArrayList + +class TestRecyclerViewAdapter(val lifecycle: Lifecycle, val items: ArrayList) : + RecyclerView.Adapter() { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val binding = ItemRecyclerviewBinding.inflate(LayoutInflater.from(parent.context), parent, false) + lifecycle.addObserver(binding.vimeoPlayer) + return ViewHolder(binding) + } + + override fun getItemCount() = items.size + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + val id = items[position] + holder.binding.vimeoPlayer.initialize(true, id) + } + + inner class ViewHolder(val binding: ItemRecyclerviewBinding) : + RecyclerView.ViewHolder(binding.root) + +} \ No newline at end of file From 24aec7d2eba7de2cd17613194f524ca8c811991b Mon Sep 17 00:00:00 2001 From: ct7ct7ct7 Date: Wed, 20 Apr 2022 23:19:24 +0800 Subject: [PATCH 3/4] Migrate to androidx. --- gradle.properties | 14 ++- library/build.gradle | 14 +-- .../view/VimeoPlayerActivity.java | 5 +- .../view/VimeoPlayerView.java | 7 +- .../view/menu/MenuAdapter.java | 7 +- .../view/menu/ViemoMenuItem.java | 7 +- .../view/menu/ViemoPlayerMenu.java | 9 +- .../view/menu/VimeoDividerItemDecoration.java | 7 +- sample/build.gradle | 12 +- sample/src/main/AndroidManifest.xml | 21 ++-- .../androidvimeoplayersample/MainActivity.kt | 20 +++- .../examples/FullscreenActivity.kt | 5 +- .../examples/MenuActivity.kt | 28 +++-- .../examples/OriginalControlsActivity.kt | 2 +- .../examples/RecyclerViewActivity.kt | 4 +- .../examples/TestRecyclerViewAdapter.kt | 7 +- .../main/res/layout/activity_fullscreen.xml | 14 +-- sample/src/main/res/layout/activity_main.xml | 110 +++++++++--------- sample/src/main/res/layout/activity_menu.xml | 14 +-- .../res/layout/activity_original_controls.xml | 14 +-- .../main/res/layout/activity_recyclerview.xml | 15 ++- .../src/main/res/layout/item_recyclerview.xml | 9 +- 22 files changed, 184 insertions(+), 161 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1487463..571f6dd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,9 +6,19 @@ # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx1536m +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 # 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 - +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +android.enableJetifier=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official +# Enables namespacing of each library's R class so that its R class includes only the +# resources declared in the library itself and none from the library's dependencies, +# thereby reducing the size of the R class for that library +android.nonTransitiveRClass=true \ No newline at end of file diff --git a/library/build.gradle b/library/build.gradle index 416ec8a..1b97d1d 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -6,11 +6,11 @@ plugins { android { - compileSdk 28 + compileSdk 31 defaultConfig { minSdk 19 - targetSdk 28 + targetSdk 31 consumerProguardFiles "consumer-rules.pro" } @@ -31,9 +31,9 @@ android { } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'com.android.support:appcompat-v7:28.0.0' - implementation 'com.android.support:recyclerview-v7:28.0.0' - implementation 'com.google.code.gson:gson:2.8.5' - implementation 'com.github.bumptech.glide:glide:4.8.0' - implementation 'com.squareup.okhttp3:okhttp:3.12.0' + implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'androidx.recyclerview:recyclerview:1.2.1' + implementation 'com.google.code.gson:gson:2.8.6' + implementation 'com.github.bumptech.glide:glide:4.9.0' + implementation 'com.squareup.okhttp3:okhttp:3.12.1' } diff --git a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/VimeoPlayerActivity.java b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/VimeoPlayerActivity.java index 1f21b6a..8f618a8 100644 --- a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/VimeoPlayerActivity.java +++ b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/VimeoPlayerActivity.java @@ -7,8 +7,6 @@ import android.content.res.Configuration; import android.graphics.Color; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.app.AppCompatActivity; import android.view.View; import com.ct7ct7ct7.androidvimeoplayer.R; @@ -16,6 +14,9 @@ import com.ct7ct7ct7.androidvimeoplayer.listeners.VimeoPlayerTimeListener; import com.ct7ct7ct7.androidvimeoplayer.model.TextTrack; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; + public class VimeoPlayerActivity extends AppCompatActivity { public static final String RESULT_STATE_VIDEO_ID = "RESULT_STATE_VIDEO_ID"; public static final String RESULT_STATE_VIDEO_PLAY_AT = "RESULT_STATE_VIDEO_PLAY_AT"; diff --git a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/VimeoPlayerView.java b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/VimeoPlayerView.java index ea4c149..6068cff 100644 --- a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/VimeoPlayerView.java +++ b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/VimeoPlayerView.java @@ -1,8 +1,5 @@ package com.ct7ct7ct7.androidvimeoplayer.view; -import android.arch.lifecycle.Lifecycle; -import android.arch.lifecycle.LifecycleObserver; -import android.arch.lifecycle.OnLifecycleEvent; import android.content.Context; import android.content.res.ColorStateList; import android.content.res.TypedArray; @@ -30,6 +27,10 @@ import com.ct7ct7ct7.androidvimeoplayer.listeners.VimeoPlayerVolumeListener; import com.ct7ct7ct7.androidvimeoplayer.view.menu.ViemoMenuItem; +import androidx.lifecycle.Lifecycle; +import androidx.lifecycle.LifecycleObserver; +import androidx.lifecycle.OnLifecycleEvent; + public class VimeoPlayerView extends FrameLayout implements LifecycleObserver { public VimeoOptions defaultOptions; public int defaultColor = Color.rgb(0, 172, 240); diff --git a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/MenuAdapter.java b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/MenuAdapter.java index d336661..de93f10 100644 --- a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/MenuAdapter.java +++ b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/MenuAdapter.java @@ -1,9 +1,6 @@ package com.ct7ct7ct7.androidvimeoplayer.view.menu; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.v4.content.ContextCompat; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -14,6 +11,10 @@ import java.util.List; +import androidx.annotation.NonNull; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.RecyclerView; + class MenuAdapter extends RecyclerView.Adapter { @NonNull private final Context context; diff --git a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/ViemoMenuItem.java b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/ViemoMenuItem.java index 9a27bdc..bbef634 100644 --- a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/ViemoMenuItem.java +++ b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/ViemoMenuItem.java @@ -1,10 +1,11 @@ package com.ct7ct7ct7.androidvimeoplayer.view.menu; -import android.support.annotation.DrawableRes; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.view.View; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + public class ViemoMenuItem { diff --git a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/ViemoPlayerMenu.java b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/ViemoPlayerMenu.java index 609514d..ed0311a 100644 --- a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/ViemoPlayerMenu.java +++ b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/ViemoPlayerMenu.java @@ -1,10 +1,6 @@ package com.ct7ct7ct7.androidvimeoplayer.view.menu; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -17,6 +13,11 @@ import java.util.ArrayList; import java.util.List; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + public class ViemoPlayerMenu { diff --git a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/VimeoDividerItemDecoration.java b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/VimeoDividerItemDecoration.java index bf1c9f3..9a30373 100644 --- a/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/VimeoDividerItemDecoration.java +++ b/library/src/main/java/com/ct7ct7ct7/androidvimeoplayer/view/menu/VimeoDividerItemDecoration.java @@ -3,13 +3,14 @@ import android.content.Context; import android.graphics.Canvas; import android.graphics.drawable.Drawable; -import android.support.annotation.NonNull; -import android.support.v4.content.ContextCompat; -import android.support.v7.widget.RecyclerView; import android.view.View; import com.ct7ct7ct7.androidvimeoplayer.R; +import androidx.annotation.NonNull; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.RecyclerView; + public class VimeoDividerItemDecoration extends RecyclerView.ItemDecoration { private Drawable mDivider; diff --git a/sample/build.gradle b/sample/build.gradle index fbe5f15..c7083d5 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -7,12 +7,12 @@ plugins { } android { - compileSdk 28 + compileSdk 31 defaultConfig { applicationId "com.ct7ct7ct7.androidvimeoplayersample" minSdk 19 - targetSdk 28 + targetSdk 31 consumerProguardFiles "consumer-rules.pro" } @@ -40,7 +40,9 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation project(':library') - implementation 'com.android.support:appcompat-v7:28.0.0' - implementation 'com.android.support.constraint:constraint-layout:1.1.3' - implementation 'com.android.support:design:28.0.0' + implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'androidx.drawerlayout:drawerlayout:1.1.1' + implementation 'com.google.android.material:material:1.5.0' + implementation 'androidx.recyclerview:recyclerview:1.2.1' + } diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml index b1355c6..ab4b8db 100644 --- a/sample/src/main/AndroidManifest.xml +++ b/sample/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + xmlns:android="http://schemas.android.com/apk/res/android"> - + - + + android:theme="@style/AppTheme.NoActionBar" /> + android:theme="@style/AppTheme.NoActionBar" /> + android:theme="@style/AppTheme.NoActionBar" /> + android:theme="@style/AppTheme.NoActionBar" /> \ No newline at end of file diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/MainActivity.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/MainActivity.kt index 791f975..09a39f6 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/MainActivity.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/MainActivity.kt @@ -3,9 +3,9 @@ package com.ct7ct7ct7.androidvimeoplayersample import android.content.Intent import android.graphics.Color import android.os.Bundle -import android.support.v7.app.AppCompatActivity import android.widget.SeekBar import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity import com.ct7ct7ct7.androidvimeoplayer.listeners.VimeoPlayerReadyListener import com.ct7ct7ct7.androidvimeoplayer.listeners.VimeoPlayerStateListener import com.ct7ct7ct7.androidvimeoplayer.model.TextTrack @@ -67,7 +67,8 @@ class MainActivity : AppCompatActivity() { //vimeoPlayer.initialize(true, {YourPrivateVideoId},"VideoHashKey", "SettingsEmbeddedUrl") binding.vimeoPlayer.addTimeListener { second -> - binding.playerCurrentTimeTextView.text = getString(R.string.player_current_time, second.toString()) + binding.playerCurrentTimeTextView.text = + getString(R.string.player_current_time, second.toString()) } binding.vimeoPlayer.addErrorListener { message, method, name -> @@ -75,7 +76,11 @@ class MainActivity : AppCompatActivity() { } binding.vimeoPlayer.addReadyListener(object : VimeoPlayerReadyListener { - override fun onReady(title: String?, duration: Float, textTrackArray: Array) { + override fun onReady( + title: String?, + duration: Float, + textTrackArray: Array + ) { binding.playerStateTextView.text = getString(R.string.player_state, "onReady") } @@ -125,7 +130,14 @@ class MainActivity : AppCompatActivity() { } binding.getCurrentTimeButton.setOnClickListener { - Toast.makeText(this, getString(R.string.player_current_time, binding.vimeoPlayer.currentTimeSeconds.toString()), Toast.LENGTH_LONG).show() + Toast.makeText( + this, + getString( + R.string.player_current_time, + binding.vimeoPlayer.currentTimeSeconds.toString() + ), + Toast.LENGTH_LONG + ).show() } binding.loadVideoButton.setOnClickListener { diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/FullscreenActivity.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/FullscreenActivity.kt index 39f5def..c573059 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/FullscreenActivity.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/FullscreenActivity.kt @@ -3,7 +3,7 @@ package com.ct7ct7ct7.androidvimeoplayersample.examples import android.app.Activity import android.content.Intent import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import com.ct7ct7ct7.androidvimeoplayer.model.PlayerState import com.ct7ct7ct7.androidvimeoplayer.view.VimeoPlayerActivity import com.ct7ct7ct7.androidvimeoplayersample.R @@ -41,6 +41,7 @@ class FullscreenActivity : AppCompatActivity() { } } + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) @@ -48,7 +49,7 @@ class FullscreenActivity : AppCompatActivity() { var playAt = data!!.getFloatExtra(VimeoPlayerActivity.RESULT_STATE_VIDEO_PLAY_AT, 0f) binding.vimeoPlayer.seekTo(playAt) - var playerState = PlayerState.valueOf(data!!.getStringExtra(VimeoPlayerActivity.RESULT_STATE_PLAYER_STATE)) + var playerState = PlayerState.valueOf(data!!.getStringExtra(VimeoPlayerActivity.RESULT_STATE_PLAYER_STATE)!!) when (playerState) { PlayerState.PLAYING -> binding.vimeoPlayer.play() PlayerState.PAUSED -> binding.vimeoPlayer.pause() diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/MenuActivity.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/MenuActivity.kt index 5a431e3..1a7e399 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/MenuActivity.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/MenuActivity.kt @@ -1,9 +1,9 @@ package com.ct7ct7ct7.androidvimeoplayersample.examples import android.os.Bundle -import android.support.v7.app.AppCompatActivity import android.view.View import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity import com.ct7ct7ct7.androidvimeoplayer.view.menu.ViemoMenuItem import com.ct7ct7ct7.androidvimeoplayersample.R import com.ct7ct7ct7.androidvimeoplayersample.databinding.ActivityMenuBinding @@ -33,13 +33,23 @@ class MenuActivity : AppCompatActivity() { binding.vimeoPlayer.initialize(true, 59777392) binding.vimeoPlayer.setMenuVisibility(true) - binding.vimeoPlayer.addMenuItem(ViemoMenuItem("settings", R.drawable.ic_settings, View.OnClickListener { - Toast.makeText(this, "settings clicked", Toast.LENGTH_SHORT).show() - binding.vimeoPlayer.dismissMenuItem() - })) - binding.vimeoPlayer.addMenuItem(ViemoMenuItem("star", R.drawable.ic_star, View.OnClickListener { - Toast.makeText(this, "star clicked", Toast.LENGTH_SHORT).show() - binding.vimeoPlayer.dismissMenuItem() - })) + binding.vimeoPlayer.addMenuItem( + ViemoMenuItem( + "settings", + R.drawable.ic_settings, + View.OnClickListener { + Toast.makeText(this, "settings clicked", Toast.LENGTH_SHORT).show() + binding.vimeoPlayer.dismissMenuItem() + }) + ) + binding.vimeoPlayer.addMenuItem( + ViemoMenuItem( + "star", + R.drawable.ic_star, + View.OnClickListener { + Toast.makeText(this, "star clicked", Toast.LENGTH_SHORT).show() + binding.vimeoPlayer.dismissMenuItem() + }) + ) } } \ No newline at end of file diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/OriginalControlsActivity.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/OriginalControlsActivity.kt index 290032f..4fbbe17 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/OriginalControlsActivity.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/OriginalControlsActivity.kt @@ -1,7 +1,7 @@ package com.ct7ct7ct7.androidvimeoplayersample.examples import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import com.ct7ct7ct7.androidvimeoplayersample.R import com.ct7ct7ct7.androidvimeoplayersample.databinding.ActivityOriginalControlsBinding diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/RecyclerViewActivity.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/RecyclerViewActivity.kt index 51c6278..3b3ddee 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/RecyclerViewActivity.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/RecyclerViewActivity.kt @@ -1,8 +1,8 @@ package com.ct7ct7ct7.androidvimeoplayersample.examples import android.os.Bundle -import android.support.v7.app.AppCompatActivity -import android.support.v7.widget.LinearLayoutManager +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.LinearLayoutManager import com.ct7ct7ct7.androidvimeoplayersample.R import com.ct7ct7ct7.androidvimeoplayersample.databinding.ActivityRecyclerviewBinding import java.util.ArrayList diff --git a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/TestRecyclerViewAdapter.kt b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/TestRecyclerViewAdapter.kt index 93c686f..df343ea 100644 --- a/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/TestRecyclerViewAdapter.kt +++ b/sample/src/main/java/com/ct7ct7ct7/androidvimeoplayersample/examples/TestRecyclerViewAdapter.kt @@ -1,9 +1,9 @@ package com.ct7ct7ct7.androidvimeoplayersample.examples -import android.arch.lifecycle.Lifecycle -import android.support.v7.widget.RecyclerView import android.view.LayoutInflater import android.view.ViewGroup +import androidx.lifecycle.Lifecycle +import androidx.recyclerview.widget.RecyclerView import com.ct7ct7ct7.androidvimeoplayersample.databinding.ItemRecyclerviewBinding import java.util.ArrayList @@ -11,7 +11,8 @@ class TestRecyclerViewAdapter(val lifecycle: Lifecycle, val items: ArrayList() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - val binding = ItemRecyclerviewBinding.inflate(LayoutInflater.from(parent.context), parent, false) + val binding = + ItemRecyclerviewBinding.inflate(LayoutInflater.from(parent.context), parent, false) lifecycle.addObserver(binding.vimeoPlayer) return ViewHolder(binding) } diff --git a/sample/src/main/res/layout/activity_fullscreen.xml b/sample/src/main/res/layout/activity_fullscreen.xml index b8e2d65..03cc195 100644 --- a/sample/src/main/res/layout/activity_fullscreen.xml +++ b/sample/src/main/res/layout/activity_fullscreen.xml @@ -1,6 +1,5 @@ - - - + app:title="@string/app_name" /> - + + app:showFullscreenOption="true" /> \ No newline at end of file diff --git a/sample/src/main/res/layout/activity_main.xml b/sample/src/main/res/layout/activity_main.xml index 1ebcae0..adabb29 100644 --- a/sample/src/main/res/layout/activity_main.xml +++ b/sample/src/main/res/layout/activity_main.xml @@ -1,49 +1,30 @@ - + android:layout_height="match_parent"> - - - - - - + app:title="@string/app_name" /> + - + android:text="Get current time" /> - + android:text="load other video" /> - - - + android:text="set topic color" /> + android:text="Play" />