implemented some ads for promotion reward
This commit is contained in:
parent
702e3f3cbe
commit
d6a8df7b83
|
@ -340,18 +340,10 @@ class MediaViewerActivity : BaseActivity(), IMediaViewerActivity, MediaSwipeClos
|
|||
args.putBoolean(VideoPageFragment.EXTRA_LOOP, true)
|
||||
args.putBoolean(VideoPageFragment.EXTRA_DISABLE_CONTROL, true)
|
||||
args.putBoolean(VideoPageFragment.EXTRA_DEFAULT_MUTE, true)
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
|
||||
return Fragment.instantiate(this, VideoPageFragment::class.java.name, args) as MediaViewerFragment
|
||||
} else {
|
||||
return Fragment.instantiate(this, ExoPlayerPageFragment::class.java.name, args) as MediaViewerFragment
|
||||
}
|
||||
return instantiateMediaViewerFragment(args)
|
||||
}
|
||||
ParcelableMedia.Type.VIDEO -> {
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
|
||||
return Fragment.instantiate(this, VideoPageFragment::class.java.name, args) as MediaViewerFragment
|
||||
} else {
|
||||
return Fragment.instantiate(this, ExoPlayerPageFragment::class.java.name, args) as MediaViewerFragment
|
||||
}
|
||||
return instantiateMediaViewerFragment(args)
|
||||
}
|
||||
ParcelableMedia.Type.EXTERNAL_PLAYER -> {
|
||||
return Fragment.instantiate(this, ExternalBrowserPageFragment::class.java.name, args) as MediaViewerFragment
|
||||
|
@ -420,6 +412,14 @@ class MediaViewerActivity : BaseActivity(), IMediaViewerActivity, MediaSwipeClos
|
|||
return result
|
||||
}
|
||||
|
||||
private fun instantiateMediaViewerFragment(args: Bundle): MediaViewerFragment {
|
||||
return if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
|
||||
Fragment.instantiate(this, VideoPageFragment::class.java.name, args) as MediaViewerFragment
|
||||
} else {
|
||||
Fragment.instantiate(this, ExoPlayerPageFragment::class.java.name, args) as MediaViewerFragment
|
||||
}
|
||||
}
|
||||
|
||||
private fun processShareIntent(intent: Intent) {
|
||||
val status = status ?: return
|
||||
intent.putExtra(Intent.EXTRA_SUBJECT, IntentUtils.getStatusShareSubject(this, status))
|
||||
|
|
|
@ -50,17 +50,24 @@ import org.mariotaku.twidere.activity.MediaViewerActivity
|
|||
import org.mariotaku.twidere.activity.iface.IControlBarActivity
|
||||
import org.mariotaku.twidere.constant.IntentConstants.EXTRA_POSITION
|
||||
import org.mariotaku.twidere.extension.model.getBestVideoUrlAndType
|
||||
import org.mariotaku.twidere.extension.setVisible
|
||||
import org.mariotaku.twidere.fragment.iface.IBaseFragment
|
||||
import org.mariotaku.twidere.model.ParcelableMedia
|
||||
import org.mariotaku.twidere.model.UserKey
|
||||
import org.mariotaku.twidere.util.dagger.GeneralComponent
|
||||
import org.mariotaku.twidere.util.media.MediaExtra
|
||||
import org.mariotaku.twidere.util.promotion.PromotionService
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.inject.Inject
|
||||
|
||||
class VideoPageFragment : CacheDownloadMediaViewerFragment(), IBaseFragment<VideoPageFragment>,
|
||||
MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener,
|
||||
View.OnClickListener, IControlBarActivity.ControlBarOffsetListener {
|
||||
|
||||
@Inject
|
||||
lateinit var promotionService: PromotionService
|
||||
|
||||
private var mediaPlayer: MediaPlayer? = null
|
||||
private var mediaPlayerError: Int = 0
|
||||
|
||||
|
@ -134,6 +141,8 @@ class VideoPageFragment : CacheDownloadMediaViewerFragment(), IBaseFragment<Vide
|
|||
startLoading(false)
|
||||
setMediaViewVisible(false)
|
||||
updateVolume()
|
||||
|
||||
promotionService.loadBanner(adContainer)
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
|
@ -142,8 +151,9 @@ class VideoPageFragment : CacheDownloadMediaViewerFragment(), IBaseFragment<Vide
|
|||
super.onPause()
|
||||
}
|
||||
|
||||
override fun onAttach(context: Context?) {
|
||||
override fun onAttach(context: Context) {
|
||||
super.onAttach(context)
|
||||
GeneralComponent.get(context).inject(this)
|
||||
if (context is IControlBarActivity) {
|
||||
context.registerControlBarOffsetListener(this)
|
||||
}
|
||||
|
@ -169,6 +179,11 @@ class VideoPageFragment : CacheDownloadMediaViewerFragment(), IBaseFragment<Vide
|
|||
requestApplyInsets()
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
promotionService.setupBanner(adContainer, PromotionService.BannerType.MEDIA_PAUSE)
|
||||
}
|
||||
|
||||
override fun getDownloadExtra(): Any? {
|
||||
val extra = MediaExtra()
|
||||
extra.isUseThumbor = false
|
||||
|
@ -308,6 +323,7 @@ class VideoPageFragment : CacheDownloadMediaViewerFragment(), IBaseFragment<Vide
|
|||
val playing = videoView.isPlaying
|
||||
playPauseButton.contentDescription = getString(if (playing) R.string.pause else R.string.play)
|
||||
playPauseButton.setImageResource(if (playing) R.drawable.ic_action_pause else R.drawable.ic_action_play_arrow)
|
||||
adContainer.setVisible(!playing)
|
||||
}
|
||||
|
||||
private fun pauseVideo(): Boolean {
|
||||
|
|
|
@ -31,6 +31,7 @@ import org.mariotaku.twidere.fragment.BasePreferenceFragment
|
|||
import org.mariotaku.twidere.fragment.ThemedPreferenceDialogFragmentCompat
|
||||
import org.mariotaku.twidere.fragment.filter.FilteredUsersFragment
|
||||
import org.mariotaku.twidere.fragment.media.ExoPlayerPageFragment
|
||||
import org.mariotaku.twidere.fragment.media.VideoPageFragment
|
||||
import org.mariotaku.twidere.loader.CacheUserSearchLoader
|
||||
import org.mariotaku.twidere.loader.DefaultAPIConfigLoader
|
||||
import org.mariotaku.twidere.loader.ParcelableStatusLoader
|
||||
|
@ -149,7 +150,10 @@ interface GeneralComponent {
|
|||
|
||||
fun inject(activity: MainActivity)
|
||||
|
||||
fun inject(fragment: VideoPageFragment)
|
||||
|
||||
companion object {
|
||||
|
||||
private var instance: GeneralComponent? = null
|
||||
|
||||
fun get(context: Context): GeneralComponent {
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
android:id="@+id/adContainer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"/>
|
||||
android:layout_gravity="center"
|
||||
android:visibility="gone"/>
|
||||
|
||||
</FrameLayout>
|
|
@ -29,16 +29,23 @@
|
|||
android:id="@+id/videoContainer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_centerInParent="true">
|
||||
android:layout_centerInParent="true"
|
||||
android:background="@android:color/black">
|
||||
|
||||
<com.sprylab.android.widget.TextureVideoView
|
||||
android:id="@+id/videoView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:background="@android:color/black"/>
|
||||
android:layout_gravity="center"/>
|
||||
|
||||
</com.commonsware.cwac.layouts.AspectLockedFrameLayout>
|
||||
|
||||
<include layout="@layout/layout_media_viewer_video_overlay"/>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/adContainer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:visibility="gone"/>
|
||||
</RelativeLayout>
|
||||
|
|
Loading…
Reference in New Issue