diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8dd111b..7d68b2a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -29,6 +29,10 @@
+
+
localVideoInfos) {
mVideoAdapter.setData(localVideoInfos);
+ mViewDataBinding.swipeRefreshLayout.setRefreshing(false);
}
});
- mViewModel.getViedoList();
+ mViewModel.getViedoList(mDirName);
}
diff --git a/app/src/main/java/com/hainaos/vc/activity/category/CategoryViewModel.java b/app/src/main/java/com/hainaos/vc/activity/category/CategoryViewModel.java
index 5144cd8..6d8dea9 100644
--- a/app/src/main/java/com/hainaos/vc/activity/category/CategoryViewModel.java
+++ b/app/src/main/java/com/hainaos/vc/activity/category/CategoryViewModel.java
@@ -1,16 +1,27 @@
package com.hainaos.vc.activity.category;
+import android.os.Environment;
+import android.util.Log;
+
import androidx.lifecycle.MutableLiveData;
import com.hainaos.vc.base.mvvm.BaseViewModel;
import com.hainaos.vc.bean.LocalVideoInfo;
import com.hainaos.vc.databinding.ActivityCategoryBinding;
+import com.hainaos.vc.utils.VideoUtils;
import com.trello.rxlifecycle4.android.ActivityEvent;
+import java.io.File;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.function.Function;
+import java.util.stream.Collectors;
public class CategoryViewModel extends BaseViewModel {
+ private static final String TAG = "CategoryViewModel";
+
@Override
public ActivityCategoryBinding getVDBinding() {
return binding;
@@ -23,22 +34,28 @@ public class CategoryViewModel extends BaseViewModel> mLocalVideoInfosData = new MutableLiveData<>();
- public void getViedoList() {
- LocalVideoInfo localVideoInfo = new LocalVideoInfo();
- localVideoInfo.setFile_name("test_video_1");
- localVideoInfo.setLocalPath("/storage/emulated/0/Movies/test_video_1.mp4");
- ArrayList localVideoInfos = new ArrayList<>();
- localVideoInfos.add(localVideoInfo);
- localVideoInfos.add(localVideoInfo);
- localVideoInfos.add(localVideoInfo);
- localVideoInfos.add(localVideoInfo);
- localVideoInfos.add(localVideoInfo);
- localVideoInfos.add(localVideoInfo);
- localVideoInfos.add(localVideoInfo);
- localVideoInfos.add(localVideoInfo);
- localVideoInfos.add(localVideoInfo);
- localVideoInfos.add(localVideoInfo);
-
- mLocalVideoInfosData.setValue(localVideoInfos);
+ public void getViedoList(String dir) {
+ File file = new File(Environment.getExternalStorageDirectory() + File.separator + "haina" + File.separator + dir);
+ if (file.exists()) {
+ String[] strings = file.list();
+ Log.e(TAG, "getViedoList: " + Arrays.toString(strings));
+ if (strings != null) {
+ List paths = new ArrayList<>(Arrays.asList(strings));
+ ArrayList localVideoInfos = paths.stream().map(new Function() {
+ @Override
+ public LocalVideoInfo apply(String s) {
+ LocalVideoInfo localVideoInfo = new LocalVideoInfo();
+ localVideoInfo.setFile_name(VideoUtils.getFileNameWithoutExtension(s));
+ localVideoInfo.setLocalPath(new File(file.getAbsolutePath() + File.separator + s).getAbsolutePath());
+ return localVideoInfo;
+ }
+ }).collect(Collectors.toCollection(ArrayList::new));
+ mLocalVideoInfosData.setValue(localVideoInfos);
+ } else {
+ mLocalVideoInfosData.setValue(null);
+ }
+ } else {
+ mLocalVideoInfosData.setValue(null);
+ }
}
}
diff --git a/app/src/main/java/com/hainaos/vc/activity/login/LoginActivity.java b/app/src/main/java/com/hainaos/vc/activity/login/LoginActivity.java
new file mode 100644
index 0000000..43749da
--- /dev/null
+++ b/app/src/main/java/com/hainaos/vc/activity/login/LoginActivity.java
@@ -0,0 +1,35 @@
+package com.hainaos.vc.activity.login;
+
+import com.hainaos.vc.R;
+import com.hainaos.vc.base.mvvm.BaseMvvmActivity;
+import com.hainaos.vc.databinding.ActivityLoginBinding;
+
+public class LoginActivity extends BaseMvvmActivity {
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.activity_login;
+ }
+
+ @Override
+ protected void initDataBinding() {
+ mViewModel.setCtx(this);
+ mViewModel.setVDBinding(mViewDataBinding);
+ mViewModel.setLifecycle(getLifecycleSubject());
+ mViewDataBinding.setClick(new BtnClick());
+ }
+
+ @Override
+ protected void initView() {
+
+ }
+
+ @Override
+ protected void initData() {
+
+ }
+
+ public class BtnClick {
+
+ }
+}
diff --git a/app/src/main/java/com/hainaos/vc/activity/login/LoginViewModel.java b/app/src/main/java/com/hainaos/vc/activity/login/LoginViewModel.java
new file mode 100644
index 0000000..e990114
--- /dev/null
+++ b/app/src/main/java/com/hainaos/vc/activity/login/LoginViewModel.java
@@ -0,0 +1,18 @@
+package com.hainaos.vc.activity.login;
+
+import com.hainaos.vc.base.mvvm.BaseViewModel;
+import com.hainaos.vc.databinding.ActivityLoginBinding;
+import com.trello.rxlifecycle4.android.ActivityEvent;
+
+public class LoginViewModel extends BaseViewModel {
+
+ @Override
+ public ActivityLoginBinding getVDBinding() {
+ return binding;
+ }
+
+ @Override
+ public void onDestroy() {
+
+ }
+}
diff --git a/app/src/main/java/com/hainaos/vc/activity/main/MainActivity.java b/app/src/main/java/com/hainaos/vc/activity/main/MainActivity.java
index c66f134..9501392 100644
--- a/app/src/main/java/com/hainaos/vc/activity/main/MainActivity.java
+++ b/app/src/main/java/com/hainaos/vc/activity/main/MainActivity.java
@@ -18,6 +18,7 @@ import androidx.core.app.ActivityCompat;
import com.hainaos.vc.R;
import com.hainaos.vc.activity.category.CategoryActivity;
+import com.hainaos.vc.activity.login.LoginActivity;
import com.hainaos.vc.base.mvvm.BaseMvvmActivity;
import com.hainaos.vc.config.CommonConfig;
import com.hainaos.vc.databinding.ActivityMainBinding;
@@ -316,9 +317,10 @@ public class MainActivity extends BaseMvvmActivity
File file = new File(localPath);
if (file.exists()) {
holder.iv_status.setVisibility(View.GONE);
- Glide.with(mContext).load(url + "?x-oss-process=video/snapshot,t_0,f_jpg").error(R.mipmap.ic_launcher).into(holder.video_image);
+ Glide.with(mContext).load(file).error(R.mipmap.ic_launcher).into(holder.video_image);
holder.duration.setText(TimeUtils.TimeFormat(localVideoInfo.getDuration() * 1000));
// Observable.create(new ObservableOnSubscribe() {
// @Override
@@ -166,7 +166,7 @@ public class VideoAdapter extends RecyclerView.Adapter
if (JgyUtils.getInstance().fileExists(url)) {
Intent intent = new Intent(mContext, TikTokActivity.class);
intent.putExtra("position", position);
- intent.putParcelableArrayListExtra("list", mLocalVideoInfos);
+ intent.putExtra("list", mLocalVideoInfos);
mContext.startActivity(intent);
} else {
JgyUtils.getInstance().ariaDownload(url, GsonUtils.getJsonObject(GsonUtils.toJSONString(localVideoInfo)));
diff --git a/app/src/main/res/drawable/bg_login.xml b/app/src/main/res/drawable/bg_login.xml
new file mode 100644
index 0000000..dbdac21
--- /dev/null
+++ b/app/src/main/res/drawable/bg_login.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_login_button.xml b/app/src/main/res/drawable/bg_login_button.xml
new file mode 100644
index 0000000..90d8e31
--- /dev/null
+++ b/app/src/main/res/drawable/bg_login_button.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/edit_background.xml b/app/src/main/res/drawable/edit_background.xml
new file mode 100644
index 0000000..9f30501
--- /dev/null
+++ b/app/src/main/res/drawable/edit_background.xml
@@ -0,0 +1,10 @@
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_category.xml b/app/src/main/res/layout/activity_category.xml
index 8867b95..db8c15e 100644
--- a/app/src/main/res/layout/activity_category.xml
+++ b/app/src/main/res/layout/activity_category.xml
@@ -53,8 +53,8 @@
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textColor="@color/white"
android:text="@{title}"
+ android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
@@ -71,11 +71,17 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cl_title">
-
+ android:layout_height="match_parent">
+
+
+
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
new file mode 100644
index 0000000..9d863bb
--- /dev/null
+++ b/app/src/main/res/layout/activity_login.xml
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 75df650..135ec9f 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -77,6 +77,7 @@
android:layout_height="32dp"
android:layout_marginEnd="8dp"
android:adjustViewBounds="true"
+ android:onClick="@{click::login}"
android:scaleType="centerCrop"
android:src="@drawable/icon_main_login"
app:layout_constraintBottom_toBottomOf="parent"