make mView at VideoFragment nullable

This commit is contained in:
tibbi 2018-01-22 21:30:44 +01:00
parent 0ed44b79c9
commit 7d4e413daa

View file

@ -36,6 +36,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
private var mTimerHandler: Handler? = null private var mTimerHandler: Handler? = null
private var mSeekBar: SeekBar? = null private var mSeekBar: SeekBar? = null
private var mTimeHolder: View? = null private var mTimeHolder: View? = null
private var mView: View? = null
private var mIsPlaying = false private var mIsPlaying = false
private var mIsDragged = false private var mIsDragged = false
@ -62,12 +63,11 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
private var mSlideInfoText = "" private var mSlideInfoText = ""
private var mSlideInfoFadeHandler = Handler() private var mSlideInfoFadeHandler = Handler()
lateinit var mView: View
lateinit var medium: Medium lateinit var medium: Medium
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
mView = inflater.inflate(R.layout.pager_video_item, container, false) mView = inflater.inflate(R.layout.pager_video_item, container, false)
mTimeHolder = mView.video_time_holder mTimeHolder = mView!!.video_time_holder
medium = arguments!!.getSerializable(MEDIUM) as Medium medium = arguments!!.getSerializable(MEDIUM) as Medium
// setMenuVisibility is not called at VideoActivity (third party intent) // setMenuVisibility is not called at VideoActivity (third party intent)
@ -89,9 +89,9 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
activity!!.updateTextColors(mView.video_holder) activity!!.updateTextColors(mView!!.video_holder)
mView.video_volume_controller.beVisibleIf(context!!.config.allowVideoGestures) mView!!.video_volume_controller.beVisibleIf(context!!.config.allowVideoGestures)
mView.video_brightness_controller.beVisibleIf(context!!.config.allowVideoGestures) mView!!.video_brightness_controller.beVisibleIf(context!!.config.allowVideoGestures)
if (context!!.config.showExtendedDetails != mStoredShowExtendedDetails || context!!.config.extendedDetails != mStoredExtendedDetails) { if (context!!.config.showExtendedDetails != mStoredShowExtendedDetails || context!!.config.extendedDetails != mStoredExtendedDetails) {
checkExtendedDetails() checkExtendedDetails()
@ -116,19 +116,19 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
if (activity == null) if (activity == null)
return return
mView.video_play_outline.setOnClickListener { togglePlayPause() } mView!!.video_play_outline.setOnClickListener { togglePlayPause() }
mSurfaceView = mView.video_surface mSurfaceView = mView!!.video_surface
mSurfaceHolder = mSurfaceView!!.holder mSurfaceHolder = mSurfaceView!!.holder
mSurfaceHolder!!.addCallback(this) mSurfaceHolder!!.addCallback(this)
mSurfaceView!!.setOnClickListener { toggleFullscreen() } mSurfaceView!!.setOnClickListener { toggleFullscreen() }
mView.video_holder.setOnClickListener { toggleFullscreen() } mView!!.video_holder.setOnClickListener { toggleFullscreen() }
mView.video_volume_controller.setOnTouchListener { v, event -> mView!!.video_volume_controller.setOnTouchListener { v, event ->
handleVolumeTouched(event) handleVolumeTouched(event)
true true
} }
mView.video_brightness_controller.setOnTouchListener { v, event -> mView!!.video_brightness_controller.setOnTouchListener { v, event ->
handleBrightnessTouched(event) handleBrightnessTouched(event)
true true
} }
@ -195,7 +195,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
val diffX = Math.abs(event.x - mTouchDownX) val diffX = Math.abs(event.x - mTouchDownX)
val diffY = Math.abs(event.y - mTouchDownY) val diffY = Math.abs(event.y - mTouchDownY)
if (System.currentTimeMillis() - mTouchDownTime < CLICK_MAX_DURATION && diffX < 20 && diffY < 20) { if (System.currentTimeMillis() - mTouchDownTime < CLICK_MAX_DURATION && diffX < 20 && diffY < 20) {
mView.video_holder.performClick() mView!!.video_holder.performClick()
} }
} }
} }
@ -233,12 +233,12 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
val diffX = Math.abs(event.x - mTouchDownX) val diffX = Math.abs(event.x - mTouchDownX)
val diffY = Math.abs(event.y - mTouchDownY) val diffY = Math.abs(event.y - mTouchDownY)
if (System.currentTimeMillis() - mTouchDownTime < CLICK_MAX_DURATION && diffX < 20 && diffY < 20) { if (System.currentTimeMillis() - mTouchDownTime < CLICK_MAX_DURATION && diffX < 20 && diffY < 20) {
mView.video_holder.performClick() mView!!.video_holder.performClick()
} }
mTouchDownBrightness = mTempBrightness mTouchDownBrightness = mTempBrightness
} }
} }
mView.video_holder mView!!.video_holder
} }
private fun getCurrentVolume() = context!!.audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) private fun getCurrentVolume() = context!!.audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
@ -254,14 +254,14 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
context!!.audioManager.setStreamVolume(stream, newVolume, 0) context!!.audioManager.setStreamVolume(stream, newVolume, 0)
val absolutePercent = ((newVolume / maxVolume.toFloat()) * 100).toInt() val absolutePercent = ((newVolume / maxVolume.toFloat()) * 100).toInt()
mView.slide_info.apply { mView!!.slide_info.apply {
text = "$mSlideInfoText$absolutePercent%" text = "$mSlideInfoText$absolutePercent%"
alpha = 1f alpha = 1f
} }
mSlideInfoFadeHandler.removeCallbacksAndMessages(null) mSlideInfoFadeHandler.removeCallbacksAndMessages(null)
mSlideInfoFadeHandler.postDelayed({ mSlideInfoFadeHandler.postDelayed({
mView.slide_info.animate().alpha(0f) mView!!.slide_info.animate().alpha(0f)
}, SLIDE_INFO_FADE_DELAY) }, SLIDE_INFO_FADE_DELAY)
} }
@ -272,7 +272,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
mTempBrightness = newBrightness.toInt() mTempBrightness = newBrightness.toInt()
val absolutePercent = ((newBrightness / maxBrightness) * 100).toInt() val absolutePercent = ((newBrightness / maxBrightness) * 100).toInt()
mView.slide_info.apply { mView!!.slide_info.apply {
text = "$mSlideInfoText$absolutePercent%" text = "$mSlideInfoText$absolutePercent%"
alpha = 1f alpha = 1f
} }
@ -283,7 +283,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
mSlideInfoFadeHandler.removeCallbacksAndMessages(null) mSlideInfoFadeHandler.removeCallbacksAndMessages(null)
mSlideInfoFadeHandler.postDelayed({ mSlideInfoFadeHandler.postDelayed({
mView.slide_info.animate().alpha(0f) mView!!.slide_info.animate().alpha(0f)
}, SLIDE_INFO_FADE_DELAY) }, SLIDE_INFO_FADE_DELAY)
} }
@ -305,8 +305,8 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
mTimeHolder!!.setPadding(left, top, right, bottom) mTimeHolder!!.setPadding(left, top, right, bottom)
} }
mCurrTimeView = mView.video_curr_time mCurrTimeView = mView!!.video_curr_time
mSeekBar = mView.video_seekbar mSeekBar = mView!!.video_seekbar
mSeekBar!!.setOnSeekBarChangeListener(this) mSeekBar!!.setOnSeekBarChangeListener(this)
if (mIsFullscreen) if (mIsFullscreen)
@ -339,7 +339,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
private fun setupTimeHolder() { private fun setupTimeHolder() {
mSeekBar!!.max = mDuration mSeekBar!!.max = mDuration
mView.video_duration.text = mDuration.getFormattedDuration() mView!!.video_duration.text = mDuration.getFormattedDuration()
mTimerHandler = Handler() mTimerHandler = Handler()
setupTimer() setupTimer()
} }
@ -403,14 +403,14 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
} else { } else {
mPlayOnPrepare = true mPlayOnPrepare = true
} }
mView.video_play_outline.setImageDrawable(null) mView!!.video_play_outline.setImageDrawable(null)
activity!!.window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) activity!!.window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
} }
private fun pauseVideo() { private fun pauseVideo() {
mIsPlaying = false mIsPlaying = false
mMediaPlayer?.pause() mMediaPlayer?.pause()
mView.video_play_outline.setImageDrawable(resources.getDrawable(R.drawable.img_play_outline_big)) mView?.video_play_outline?.setImageDrawable(resources.getDrawable(R.drawable.img_play_outline_big))
activity!!.window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) activity!!.window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
} }
@ -500,14 +500,16 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
override fun surfaceCreated(holder: SurfaceHolder) { override fun surfaceCreated(holder: SurfaceHolder) {
mSurfaceHolder = holder mSurfaceHolder = holder
if (mIsFragmentVisible) if (mIsFragmentVisible) {
initMediaPlayer() initMediaPlayer()
} }
}
override fun surfaceChanged(holder: SurfaceHolder, format: Int, width: Int, height: Int) { override fun surfaceChanged(holder: SurfaceHolder, format: Int, width: Int, height: Int) {
if (width != 0 && height != 0 && mSurfaceView != null) if (width != 0 && height != 0 && mSurfaceView != null) {
setVideoSize() setVideoSize()
} }
}
override fun surfaceDestroyed(holder: SurfaceHolder) { override fun surfaceDestroyed(holder: SurfaceHolder) {
releaseMediaPlayer() releaseMediaPlayer()
@ -557,7 +559,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
private fun checkExtendedDetails() { private fun checkExtendedDetails() {
if (context!!.config.showExtendedDetails) { if (context!!.config.showExtendedDetails) {
mView.video_details.apply { mView!!.video_details.apply {
text = getMediumExtendedDetails(medium) text = getMediumExtendedDetails(medium)
setTextColor(context.config.textColor) setTextColor(context.config.textColor)
beVisibleIf(text.isNotEmpty()) beVisibleIf(text.isNotEmpty())
@ -568,7 +570,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
} }
} }
} else { } else {
mView.video_details.beGone() mView!!.video_details.beGone()
} }
} }
@ -600,7 +602,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
override fun fullscreenToggled(isFullscreen: Boolean) { override fun fullscreenToggled(isFullscreen: Boolean) {
mIsFullscreen = isFullscreen mIsFullscreen = isFullscreen
checkFullscreen() checkFullscreen()
mView.video_details.apply { mView!!.video_details.apply {
if (isVisible()) { if (isVisible()) {
animate().y(getExtendedDetailsY(height)) animate().y(getExtendedDetailsY(height))
} }