Skip to content
This repository has been archived by the owner on Aug 9, 2022. It is now read-only.

Commit

Permalink
Merge branch 'release/v6.3.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
Nathen committed Sep 9, 2018
2 parents 1a127a3 + 363fcbc commit 2b051a4
Show file tree
Hide file tree
Showing 17 changed files with 127 additions and 105 deletions.
22 changes: 11 additions & 11 deletions README-ZH.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
--
<p align="center">
<a href="http://developer.android.com/index.html"><img src="https://img.shields.io/badge/platform-android-green.svg"></a>
<a href="http://search.maven.org/#artifactdetails%7Ccn.jzvd%7Cjiaozivideoplayer%7C5.8.2%7Caar"><img src="https://img.shields.io/badge/Maven%20Central-6.3_preview-green.svg"></a>
<a href="http://search.maven.org/#artifactdetails%7Ccn.jzvd%7Cjiaozivideoplayer%7C5.8.2%7Caar"><img src="https://img.shields.io/badge/Maven%20Central-6.3.1-green.svg"></a>
<a href="http://choosealicense.com/licenses/mit/"><img src="https://img.shields.io/badge/license-MIT-green.svg"></a>
<a href="https://android-arsenal.com/details/1/3269"><img src="https://img.shields.io/badge/Android%20Arsenal-jiaozivideoplayer-green.svg?style=true"></a>
</p>
Expand All @@ -24,7 +24,7 @@

## 效果

**[jiaozivideoplayer-6.3_preview.apk](https://github.com/lipangit/JiaoZiVideoPlayer/releases/download/v6.3_preview/jiaozivideoplayer-6.3_preview.apk)**
**[jiaozivideoplayer-6.3.1.apk](https://github.com/lipangit/JiaoZiVideoPlayer/releases/download/v6.3.1/jiaozivideoplayer-6.3.1.apk)**

![Demo Screenshot][1]

Expand All @@ -36,40 +36,40 @@

1.添加类库
```gradle
compile 'cn.jzvd:jiaozivideoplayer:6.3_preview'
compile 'cn.jzvd:jiaozivideoplayer:6.3.1'
```

或直接下载 [jar包](https://github.com/lipangit/JiaoZiVideoPlayer/releases/tag/v6.3_preview) (不建议)
或直接下载 [jar包](https://github.com/lipangit/JiaoZiVideoPlayer/releases/tag/v6.3.1) (不建议)

2.添加布局
```xml
<cn.jzvd.JZVideoPlayerStandard
<cn.jzvd.JzvdStd
android:id="@+id/videoplayer"
android:layout_width="match_parent"
android:layout_height="200dp"/>
```

3.设置视频地址、缩略图地址、标题
```java
JZVideoPlayerStandard jzVideoPlayerStandard = (JZVideoPlayerStandard) findViewById(R.id.videoplayer);
jzVideoPlayerStandard.setUp("http://jzvd.nathen.cn/c6e3dc12a1154626b3476d9bf3bd7266/6b56c5f0dc31428083757a45764763b0-5287d2089db37e62345123a1be272f8b.mp4"
, JZVideoPlayerStandard.SCREEN_WINDOW_NORMAL, "饺子闭眼睛");
jzVideoPlayerStandard.thumbImageView.setImage("http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640");
JzvdStd jzvdStd = (JzvdStd) findViewById(R.id.videoplayer);
jzvdStd.setUp("http://jzvd.nathen.cn/c6e3dc12a1154626b3476d9bf3bd7266/6b56c5f0dc31428083757a45764763b0-5287d2089db37e62345123a1be272f8b.mp4"
, Jzvd.SCREEN_WINDOW_NORMAL, "饺子闭眼睛");
jzvdStd.thumbImageView.setImage("http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640");
```

4.在`Activity`
```java
@Override
public void onBackPressed() {
if (JZVideoPlayer.backPress()) {
if (Jzvd.backPress()) {
return;
}
super.onBackPressed();
}
@Override
protected void onPause() {
super.onPause();
JZVideoPlayer.releaseAllVideos();
Jzvd.releaseAllVideos();
}
```

Expand Down
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
--
<p align="center">
<a href="http://developer.android.com/index.html"><img src="https://img.shields.io/badge/platform-android-green.svg"></a>
<a href="http://search.maven.org/#artifactdetails%7Ccn.jzvd%7Cjiaozivideoplayer%7C5.8.2%7Caar"><img src="https://img.shields.io/badge/Maven%20Central-6.3_preview-green.svg"></a>
<a href="http://search.maven.org/#artifactdetails%7Ccn.jzvd%7Cjiaozivideoplayer%7C5.8.2%7Caar"><img src="https://img.shields.io/badge/Maven%20Central-6.3.1-green.svg"></a>
<a href="http://choosealicense.com/licenses/mit/"><img src="https://img.shields.io/badge/license-MIT-green.svg"></a>
<a href="https://android-arsenal.com/details/1/3269"><img src="https://img.shields.io/badge/Android%20Arsenal-jiaozivideoplayer-green.svg?style=true"></a>
</p>

Perfect list sliding detection, one line of code to replace the system player with IJKplayer, ExoPlayer, Vitamio, etc.

Group Q: 490442439 (group 1 full) 761899104 (group 2) authentication information: jzvd
Q群: 490442439 2群: 761899104 authentication information: jzvd

[Wiki](https://github.com/lipangit/JiaoZiVideoPlayer/wiki) [EnglishWiki](https://github.com/felipetorres/VideoPlayer-Wiki)
[Chinese README](https://github.com/lipangit/JiaoZiVideoPlayer/blob/develop/README-ZH.md)
Expand All @@ -34,7 +34,7 @@ Group Q: 490442439 (group 1 full) 761899104 (group 2) authentication information

## Demo apk

A demo apk [jiaozivideoplayer-6.3_preview.apk](https://github.com/lipangit/JiaoZiVideoPlayer/releases/download/v6.3_preview/jiaozivideoplayer-6.3_preview.apk) is available on Google Play showing all available features like this [small window effect on list sliding](http://weibo.com/tv/v/FtxpWgqmg?fid=1034:5cda6fc7f394b403d592bd9b1d5a9701).
A demo apk [jiaozivideoplayer-6.3.1.apk](https://github.com/lipangit/JiaoZiVideoPlayer/releases/download/v6.3.1/jiaozivideoplayer-6.3.1.apk) is available on Google Play showing all available features like this [small window effect on list sliding](http://weibo.com/tv/v/FtxpWgqmg?fid=1034:5cda6fc7f394b403d592bd9b1d5a9701).

![Demo screenshot][1]

Expand All @@ -44,41 +44,41 @@ Only five steps to use the player:

1.Import library:
```gradle
compile 'cn.jzvd:jiaozivideoplayer:6.3_preview'
compile 'cn.jzvd:jiaozivideoplayer:6.3.1'
```

Or download [lib](https://github.com/lipangit/JiaoZiVideoPlayer/releases/tag/v6.3_preview) (not recommended).
Or download [lib](https://github.com/lipangit/JiaoZiVideoPlayer/releases/tag/v6.3.1) (not recommended).

2.Add `JZVideoPlayer` in your layout:
```xml
<cn.jzvd.JZVideoPlayerStandard
<cn.jzvd.JzvdStd
android:id="@+id/videoplayer"
android:layout_width="match_parent"
android:layout_height="200dp"/>
```

3.Set the video uri, video thumb url and video title:
```java
JZVideoPlayerStandard jzVideoPlayerStandard = (JZVideoPlayerStandard) findViewById(R.id.videoplayer);
jzVideoPlayerStandard.setUp("http://jzvd.nathen.cn/c6e3dc12a1154626b3476d9bf3bd7266/6b56c5f0dc31428083757a45764763b0-5287d2089db37e62345123a1be272f8b.mp4",
JZVideoPlayerStandard.SCREEN_WINDOW_NORMAL,
JzvdStd jzvdStd = (JzvdStd) findViewById(R.id.videoplayer);
jzvdStd.setUp("http://jzvd.nathen.cn/c6e3dc12a1154626b3476d9bf3bd7266/6b56c5f0dc31428083757a45764763b0-5287d2089db37e62345123a1be272f8b.mp4",
Jzvd.SCREEN_WINDOW_NORMAL,
"饺子闭眼睛");
jzVideoPlayerStandard.thumbImageView.setImage("http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640");
jzvdStd.thumbImageView.setImage("http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640");
```

4.In `Activity`:
```java
@Override
public void onBackPressed() {
if (JZVideoPlayer.backPress()) {
if (Jzvd.backPress()) {
return;
}
super.onBackPressed();
}
@Override
protected void onPause() {
super.onPause();
JZVideoPlayer.releaseAllVideos();
Jzvd.releaseAllVideos();
}
```

Expand Down
13 changes: 6 additions & 7 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
compileSdkVersion 28

defaultConfig {
applicationId "cn.jzvd.demo"
minSdkVersion 16
targetSdkVersion 27
versionCode 83
versionName "6.3_preview"
targetSdkVersion 28
versionCode 84
versionName "6.3.1"
}
signingConfigs {
releaseConfig {
Expand All @@ -34,11 +33,11 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
testImplementation 'junit:junit:4.12'
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation project(':jiaozivideoplayer')
implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.4'
implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.4'
implementation 'com.android.support:recyclerview-v7:27.1.0'
implementation 'com.android.support:recyclerview-v7:28.0.0-rc02'
implementation 'com.danikula:videocache:2.7.0'
implementation 'com.github.bumptech.glide:glide:4.6.1'
implementation 'com.google.android.exoplayer:exoplayer:2.7.1'
Expand Down
48 changes: 24 additions & 24 deletions app/src/main/java/cn/jzvd/demo/ActivityApiUISmallChange.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@
* Created by Nathen on 16/7/31.
*/
public class ActivityApiUISmallChange extends AppCompatActivity {
JzvdStdShowShareButtonAfterFullscreen jzVideoPlayerStandardWithShareButton;
JzvdStdShowTitleAfterFullscreen jzVideoPlayerStandardShowTitleAfterFullscreen;
JzvdStdShowTextureViewAfterAutoComplete jzVideoPlayerStandardShowTextureViewAfterAutoComplete;
JzvdStdAutoCompleteAfterFullscreen jzVideoPlayerStandardAutoCompleteAfterFullscreen;
JzvdStdVolumeAfterFullscreen jzVideoPlayerStandardVolumeAfterFullscreen;
JzvdStdMp3 jzVideoPlayerStandardMp3;
JzvdStdShowShareButtonAfterFullscreen jzvdStdWithShareButton;
JzvdStdShowTitleAfterFullscreen jzvdStdShowTitleAfterFullscreen;
JzvdStdShowTextureViewAfterAutoComplete jzvdStdShowTextureViewAfterAutoComplete;
JzvdStdAutoCompleteAfterFullscreen jzvdStdAutoCompleteAfterFullscreen;
JzvdStdVolumeAfterFullscreen jzvdStdVolumeAfterFullscreen;
JzvdStdMp3 jzvdStdMp3;

JzvdStd jzvdStd_1_1, jzvdStd_16_9;

Expand All @@ -39,34 +39,34 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
getSupportActionBar().setTitle("SmallChangeUI");
setContentView(R.layout.activity_ui_small_change);

jzVideoPlayerStandardWithShareButton = findViewById(R.id.custom_videoplayer_standard_with_share_button);
jzVideoPlayerStandardWithShareButton.setUp(VideoConstant.videoUrlList[3], "饺子想呼吸", Jzvd.SCREEN_WINDOW_NORMAL
jzvdStdWithShareButton = findViewById(R.id.custom_videoplayer_standard_with_share_button);
jzvdStdWithShareButton.setUp(VideoConstant.videoUrlList[3], "饺子想呼吸", Jzvd.SCREEN_WINDOW_NORMAL
);
Glide.with(this)
.load(VideoConstant.videoThumbList[3])
.into(jzVideoPlayerStandardWithShareButton.thumbImageView);
.into(jzvdStdWithShareButton.thumbImageView);


jzVideoPlayerStandardShowTitleAfterFullscreen = findViewById(R.id.custom_videoplayer_standard_show_title_after_fullscreen);
jzVideoPlayerStandardShowTitleAfterFullscreen.setUp(VideoConstant.videoUrlList[4], "饺子想摇头", Jzvd.SCREEN_WINDOW_NORMAL
jzvdStdShowTitleAfterFullscreen = findViewById(R.id.custom_videoplayer_standard_show_title_after_fullscreen);
jzvdStdShowTitleAfterFullscreen.setUp(VideoConstant.videoUrlList[4], "饺子想摇头", Jzvd.SCREEN_WINDOW_NORMAL
);
Glide.with(this)
.load(VideoConstant.videoThumbList[4])
.into(jzVideoPlayerStandardShowTitleAfterFullscreen.thumbImageView);
.into(jzvdStdShowTitleAfterFullscreen.thumbImageView);

jzVideoPlayerStandardShowTextureViewAfterAutoComplete = findViewById(R.id.custom_videoplayer_standard_show_textureview_aoto_complete);
jzVideoPlayerStandardShowTextureViewAfterAutoComplete.setUp(VideoConstant.videoUrlList[5], "饺子想旅行", Jzvd.SCREEN_WINDOW_NORMAL
jzvdStdShowTextureViewAfterAutoComplete = findViewById(R.id.custom_videoplayer_standard_show_textureview_aoto_complete);
jzvdStdShowTextureViewAfterAutoComplete.setUp(VideoConstant.videoUrlList[5], "饺子想旅行", Jzvd.SCREEN_WINDOW_NORMAL
);
Glide.with(this)
.load(VideoConstant.videoThumbList[5])
.into(jzVideoPlayerStandardShowTextureViewAfterAutoComplete.thumbImageView);
.into(jzvdStdShowTextureViewAfterAutoComplete.thumbImageView);

jzVideoPlayerStandardAutoCompleteAfterFullscreen = findViewById(R.id.custom_videoplayer_standard_aoto_complete);
jzVideoPlayerStandardAutoCompleteAfterFullscreen.setUp(VideoConstant.videoUrls[0][1], "饺子没来", Jzvd.SCREEN_WINDOW_NORMAL
jzvdStdAutoCompleteAfterFullscreen = findViewById(R.id.custom_videoplayer_standard_aoto_complete);
jzvdStdAutoCompleteAfterFullscreen.setUp(VideoConstant.videoUrls[0][1], "饺子没来", Jzvd.SCREEN_WINDOW_NORMAL
);
Glide.with(this)
.load(VideoConstant.videoThumbs[0][1])
.into(jzVideoPlayerStandardAutoCompleteAfterFullscreen.thumbImageView);
.into(jzvdStdAutoCompleteAfterFullscreen.thumbImageView);

jzvdStd_1_1 = findViewById(R.id.jz_videoplayer_1_1);
jzvdStd_1_1.setUp(VideoConstant.videoUrls[0][1], "饺子有事吗", Jzvd.SCREEN_WINDOW_NORMAL
Expand All @@ -86,19 +86,19 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
jzvdStd_16_9.widthRatio = 16;
jzvdStd_16_9.heightRatio = 9;

jzVideoPlayerStandardVolumeAfterFullscreen = findViewById(R.id.jz_videoplayer_volume);
jzVideoPlayerStandardVolumeAfterFullscreen.setUp(VideoConstant.videoUrls[0][1], "饺子摇摆", Jzvd.SCREEN_WINDOW_NORMAL
jzvdStdVolumeAfterFullscreen = findViewById(R.id.jz_videoplayer_volume);
jzvdStdVolumeAfterFullscreen.setUp(VideoConstant.videoUrls[0][1], "饺子摇摆", Jzvd.SCREEN_WINDOW_NORMAL
);
Glide.with(this)
.load(VideoConstant.videoThumbs[0][1])
.into(jzVideoPlayerStandardVolumeAfterFullscreen.thumbImageView);
.into(jzvdStdVolumeAfterFullscreen.thumbImageView);

jzVideoPlayerStandardMp3 = findViewById(R.id.jz_videoplayer_mp3);
jzVideoPlayerStandardMp3.setUp("https://in-20170815011809382-q34ludd68h.oss-cn-shanghai.aliyuncs.com/video/401edae1-16431aa8156-0007-1823-c86-de200.mp3?Expires=1532102862&OSSAccessKeyId=LTAIPZHZDaUNpnca&Signature=apruidffjNeN0O584VJiz8q1mJ4%3D", "饺子摇摆", Jzvd.SCREEN_WINDOW_NORMAL
jzvdStdMp3 = findViewById(R.id.jz_videoplayer_mp3);
jzvdStdMp3.setUp("https://in-20170815011809382-q34ludd68h.oss-cn-shanghai.aliyuncs.com/video/401edae1-16431aa8156-0007-1823-c86-de200.mp3?Expires=1532102862&OSSAccessKeyId=LTAIPZHZDaUNpnca&Signature=apruidffjNeN0O584VJiz8q1mJ4%3D", "饺子摇摆", Jzvd.SCREEN_WINDOW_NORMAL
);
Glide.with(this)
.load(VideoConstant.videoThumbs[0][1])
.into(jzVideoPlayerStandardMp3.thumbImageView);
.into(jzvdStdMp3.thumbImageView);


}
Expand Down
12 changes: 6 additions & 6 deletions app/src/main/java/cn/jzvd/demo/ActivityListViewMultiHolder.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public boolean onOptionsItemSelected(MenuItem item) {

public class VideoListAdapter extends BaseAdapter {

int[] viewtype = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0};//1 = jzvd, 0 = textView
int[] viewtype = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0};//1 = jzvdStd, 0 = textView

Context context;
LayoutInflater mInflater;
Expand Down Expand Up @@ -113,17 +113,17 @@ public View getView(int position, View convertView, ViewGroup parent) {
} else {
viewHolder = new VideoHolder();
convertView = mInflater.inflate(R.layout.item_videoview, null);
viewHolder.jzVideoPlayer = convertView.findViewById(R.id.videoplayer);
viewHolder.jzvdStd = convertView.findViewById(R.id.videoplayer);
convertView.setTag(viewHolder);
}

viewHolder.jzVideoPlayer.setUp(
viewHolder.jzvdStd.setUp(
VideoConstant.videoUrls[0][position],
VideoConstant.videoTitles[0][position], Jzvd.SCREEN_WINDOW_LIST);
viewHolder.jzVideoPlayer.positionInList = position;
viewHolder.jzvdStd.positionInList = position;
Glide.with(ActivityListViewMultiHolder.this)
.load(VideoConstant.videoThumbs[0][position])
.into(viewHolder.jzVideoPlayer.thumbImageView);
.into(viewHolder.jzvdStd.thumbImageView);
} else {
TextViewHolder textViewHolder;
if (convertView != null && convertView.getTag() != null && convertView.getTag() instanceof TextViewHolder) {
Expand All @@ -150,7 +150,7 @@ public int getViewTypeCount() {
}

class VideoHolder {
JzvdStd jzVideoPlayer;
JzvdStd jzvdStd;
}

class TextViewHolder {
Expand Down
11 changes: 6 additions & 5 deletions app/src/main/java/cn/jzvd/demo/ActivityMain.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
public class ActivityMain extends AppCompatActivity implements View.OnClickListener {


MyJzvdStd myJZVideoPlayerStandard;
MyJzvdStd myJzvdStd;

Button mTinyWindow, mListView, mDirectFullscreen, mApi, mWebView;

Expand All @@ -43,11 +43,12 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
mApi.setOnClickListener(this);
mWebView.setOnClickListener(this);

myJZVideoPlayerStandard = findViewById(R.id.jz_video);
myJZVideoPlayerStandard.setUp("http://jzvd.nathen.cn/342a5f7ef6124a4a8faf00e738b8bee4/cf6d9db0bd4d41f59d09ea0a81e918fd-5287d2089db37e62345123a1be272f8b.mp4"
myJzvdStd = findViewById(R.id.jz_video);
myJzvdStd.setUp("http://jzvd.nathen.cn/342a5f7ef6124a4a8faf00e738b8bee4/cf6d9db0bd4d41f59d09ea0a81e918fd-5287d2089db37e62345123a1be272f8b.mp4"
, "饺子快长大", JzvdStd.SCREEN_WINDOW_NORMAL);
Glide.with(this).load("http://jzvd-pic.nathen.cn/jzvd-pic/1bb2ebbe-140d-4e2e-abd2-9e7e564f71ac.png").into(myJZVideoPlayerStandard.thumbImageView);
Glide.with(this).load("http://jzvd-pic.nathen.cn/jzvd-pic/1bb2ebbe-140d-4e2e-abd2-9e7e564f71ac.png").into(myJzvdStd.thumbImageView);
Jzvd.setJzUserAction(new MyUserActionStd());

}

@Override
Expand Down Expand Up @@ -86,7 +87,7 @@ public void onClick(View v) {
}

/**
* 这只是给埋点统计用户数据用的,不能写和播放相关的逻辑,监听事件请参考MyJZVideoPlayerStandard,复写函数取得相应事件
* 这只是给埋点统计用户数据用的,不能写和播放相关的逻辑,监听事件请参考MyJzvdStd,复写函数取得相应事件
*/
class MyUserActionStd implements JZUserActionStd {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public boolean onOptionsItemSelected(MenuItem item) {

public class VideoListAdapter extends BaseAdapter {

int[] viewtype = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0};//1 = jzvd, 0 = textView
int[] viewtype = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0};//1 = jzvdStd, 0 = textView

Context context;
LayoutInflater mInflater;
Expand Down Expand Up @@ -113,15 +113,15 @@ public View getView(int position, View convertView, ViewGroup parent) {
} else {
viewHolder = new VideoHolder();
convertView = mInflater.inflate(R.layout.item_videoview, null);
viewHolder.jzVideoPlayer = convertView.findViewById(R.id.videoplayer);
viewHolder.jzvdStd = convertView.findViewById(R.id.videoplayer);
convertView.setTag(viewHolder);
}

viewHolder.jzVideoPlayer.setUp(
viewHolder.jzvdStd.setUp(
VideoConstant.videoUrls[0][position],
VideoConstant.videoTitles[0][position], Jzvd.SCREEN_WINDOW_LIST);
viewHolder.jzVideoPlayer.positionInList = position;
Glide.with(ActivityTinyWindowListViewMultiHolder.this).load(VideoConstant.videoThumbs[0][position]).into(viewHolder.jzVideoPlayer.thumbImageView);
viewHolder.jzvdStd.positionInList = position;
Glide.with(ActivityTinyWindowListViewMultiHolder.this).load(VideoConstant.videoThumbs[0][position]).into(viewHolder.jzvdStd.thumbImageView);
} else {
TextViewHolder textViewHolder;
if (convertView != null && convertView.getTag() != null && convertView.getTag() instanceof VideoListAdapter.TextViewHolder) {
Expand All @@ -148,7 +148,7 @@ public int getViewTypeCount() {
}

class VideoHolder {
JzvdStd jzVideoPlayer;
JzvdStd jzvdStd;
}

class TextViewHolder {
Expand Down
Loading

0 comments on commit 2b051a4

Please sign in to comment.