From 6b093de6c2bb48f39ab0e9be544cb8f3b9029a54 Mon Sep 17 00:00:00 2001 From: tongtongstudio Date: Mon, 9 Mar 2026 09:37:54 +0800 Subject: [PATCH] =?UTF-8?q?version:1.1.1=20bugfixes:=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=B8=BB=E9=A1=B5=E4=B8=8D=E7=94=A8=E5=AF=86=E7=A0=81=E5=B0=B1?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E8=BF=9B=E5=85=A5=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20update:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- .../category/local/LocalCategoryActivity.java | 50 ++++++-- .../local/LocalCategoryViewModel.java | 46 +++++++- .../vc/activity/main/MainActivity.java | 108 +++++++++--------- .../hainaos/vc/adapter/HomeAppAdapter.java | 9 +- .../vc/adapter/HomeCategoryAdapter.java | 12 +- 6 files changed, 152 insertions(+), 77 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ef6cc79..f175b22 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,8 +18,8 @@ android { //There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature. minSdkVersion 23 targetSdkVersion 29 - versionCode 10 - versionName "1.0.9" + versionCode 12 + versionName "1.1.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/hainaos/vc/activity/category/local/LocalCategoryActivity.java b/app/src/main/java/com/hainaos/vc/activity/category/local/LocalCategoryActivity.java index 4c90c09..089fae2 100644 --- a/app/src/main/java/com/hainaos/vc/activity/category/local/LocalCategoryActivity.java +++ b/app/src/main/java/com/hainaos/vc/activity/category/local/LocalCategoryActivity.java @@ -1,6 +1,7 @@ package com.hainaos.vc.activity.category.local; import android.content.Intent; +import android.text.TextUtils; import android.view.View; import androidx.lifecycle.Observer; @@ -10,14 +11,19 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.hainaos.vc.R; import com.hainaos.vc.adapter.VideoAdapter; import com.hainaos.vc.base.mvvm.BaseMvvmActivity; +import com.hainaos.vc.bean.BaseResponse; +import com.hainaos.vc.bean.CategoryInfo; import com.hainaos.vc.bean.LocalVideoInfo; +import com.hainaos.vc.bean.VideoListData; import com.hainaos.vc.databinding.ActivityCategoryLocalBinding; +import com.hainaos.vc.fragment.passwd.PasswdDialogFragment; import com.hainaos.vc.utils.FileUtils; import com.hainaos.vc.utils.ScreenUtils; import com.hainaos.vc.utils.ToastUtil; import com.hainaos.vc.view.CustomDialog; import com.hainaos.vc.view.EquallyDividedItemDecoration; import com.hainaos.vc.view.RecycleGridLayoutManager; +import com.hjq.toast.Toaster; import java.io.File; import java.util.ArrayList; @@ -25,10 +31,12 @@ import java.util.ArrayList; public class LocalCategoryActivity extends BaseMvvmActivity { private static final String TAG = "LocalCategoryActivity"; - private String mTitle; - private String mDirName; + private CategoryInfo mCategoryInfo; + private String mPasswd; private VideoAdapter mVideoAdapter; + private PasswdDialogFragment mPasswdDialogFragment; + private static final int SPAN_COUNT = 3; @@ -68,7 +76,7 @@ public class LocalCategoryActivity extends BaseMvvmActivity>() { @@ -95,10 +107,34 @@ public class LocalCategoryActivity extends BaseMvvmActivity>() { + @Override + public void onChanged(BaseResponse baseResponse) { + if (baseResponse.code == 200) { + mViewModel.getVideoList(mCategoryInfo.getFolder()); + } else { + Toaster.show("密码错误,请重新输入"); + mPasswdDialogFragment = new PasswdDialogFragment(mCategoryInfo); + mPasswdDialogFragment.setConfimCallback(new PasswdDialogFragment.ConfimCallback() { + @Override + public void onConfig(String passwd) { + mPasswd = passwd; + mViewModel.getVideoList(mCategoryInfo.getUuid(), passwd); + } + }); + mPasswdDialogFragment.show(getSupportFragmentManager(), "PasswdDialogFragment"); + } + } + }); + if (TextUtils.isEmpty(mPasswd)) { + mViewModel.getVideoList(mCategoryInfo.getFolder()); + } else { + mViewModel.getVideoList(mCategoryInfo.getUuid(), mPasswd); + } } + private void showDialog(String path, int position) { CustomDialog dialog = new CustomDialog(LocalCategoryActivity.this); dialog.setTitle("删除文件") diff --git a/app/src/main/java/com/hainaos/vc/activity/category/local/LocalCategoryViewModel.java b/app/src/main/java/com/hainaos/vc/activity/category/local/LocalCategoryViewModel.java index 331212f..71556f2 100644 --- a/app/src/main/java/com/hainaos/vc/activity/category/local/LocalCategoryViewModel.java +++ b/app/src/main/java/com/hainaos/vc/activity/category/local/LocalCategoryViewModel.java @@ -5,10 +5,14 @@ import android.util.Log; import androidx.lifecycle.MutableLiveData; import com.hainaos.vc.base.mvvm.BaseViewModel; +import com.hainaos.vc.bean.BaseResponse; import com.hainaos.vc.bean.LocalVideoInfo; +import com.hainaos.vc.bean.VideoListData; import com.hainaos.vc.databinding.ActivityCategoryLocalBinding; +import com.hainaos.vc.network.NetInterfaceManager; import com.hainaos.vc.utils.FileUtils; import com.hainaos.vc.utils.VideoUtils; +import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.android.ActivityEvent; import java.io.File; @@ -42,16 +46,46 @@ public class LocalCategoryViewModel extends BaseViewModel> mCategoryVideoInfoListData = new MutableLiveData<>(); + + public void getVideoList(String uuid, String password) { + NetInterfaceManager.getInstance().getVideoListObservable(uuid, password) + .compose(RxLifecycle.bindUntilEvent(getLifecycle(), ActivityEvent.DESTROY)) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("getVideoList", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse listBaseResponse) { + Log.e("getVideoList", "onNext: "); + mCategoryVideoInfoListData.setValue(listBaseResponse); + + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e("getVideoList", "onError: " + e.getMessage()); + } + + @Override + public void onComplete() { + Log.e("getVideoList", "onComplete: "); + } + }); + } + public MutableLiveData> mLocalVideoInfosData = new MutableLiveData<>(); - public void getViedoList(String dir) { + public void getVideoList(String dir) { File file = new File(FileUtils.getHainaVideoPath(getCtx()) + dir); Observable .fromCallable(new Callable>() { @Override public List call() throws Exception { String[] strings = file.list(); - Log.e(TAG, "getViedoList: " + Arrays.toString(strings)); + Log.e(TAG, "getVideoList: " + Arrays.toString(strings)); if (strings != null) { return new ArrayList<>(Arrays.asList(strings)); } else { @@ -103,25 +137,25 @@ public class LocalCategoryViewModel extends BaseViewModel>() { @Override public void onSubscribe(@NonNull Disposable d) { - Log.e("getViedoList", "onSubscribe: "); + Log.e("getVideoList", "onSubscribe: "); } @Override public void onNext(@NonNull ArrayList localVideoInfos) { - Log.e("getViedoList", "onNext: "); + Log.e("getVideoList", "onNext: "); mLocalVideoInfosData.setValue(localVideoInfos); } @Override public void onError(@NonNull Throwable e) { - Log.e("getViedoList", "onError: " + e.getMessage()); + Log.e("getVideoList", "onError: " + e.getMessage()); mLocalVideoInfosData.setValue(null); } @Override public void onComplete() { - Log.e("getViedoList", "onComplete: "); + Log.e("getVideoList", "onComplete: "); } }); 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 8d7df4f..941d4c6 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 @@ -21,7 +21,6 @@ import androidx.lifecycle.Observer; import com.hainaos.vc.BuildConfig; import com.hainaos.vc.R; -import com.hainaos.vc.activity.category.local.LocalCategoryActivity; import com.hainaos.vc.activity.login.LoginActivity; import com.hainaos.vc.base.BaseFragmentPagerAdapter; import com.hainaos.vc.base.mvvm.BaseMvvmActivity; @@ -356,12 +355,13 @@ public class MainActivity extends BaseMvvmActivity mContext.startActivity(new Intent(mContext, CategoryListActivity.class)); break; default: - Intent intent = new Intent(mContext, LocalCategoryActivity.class); - intent.putExtra("title", name); - intent.putExtra("dir", dirName); - mContext.startActivity(intent); +// Intent intent = new Intent(mContext, LocalCategoryActivity.class); +// intent.putExtra("title", name); +// intent.putExtra("dir", dirName); +// mContext.startActivity(intent); break; } } else { diff --git a/app/src/main/java/com/hainaos/vc/adapter/HomeCategoryAdapter.java b/app/src/main/java/com/hainaos/vc/adapter/HomeCategoryAdapter.java index 473762d..c65816d 100644 --- a/app/src/main/java/com/hainaos/vc/adapter/HomeCategoryAdapter.java +++ b/app/src/main/java/com/hainaos/vc/adapter/HomeCategoryAdapter.java @@ -99,7 +99,7 @@ public class HomeCategoryAdapter extends RecyclerView.Adapter