Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
MirkoWu committed Mar 28, 2023
2 parents 46e960d + c3db5af commit df35349
Show file tree
Hide file tree
Showing 50 changed files with 1,237 additions and 219 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ dependencies {

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "androidx.core:core-ktx:$ext.core_ktx_version"
//implementation "androidx.appcompat:appcompat:$ext.appcompat_version"
implementation "androidx.appcompat:appcompat:$ext.appcompat_version"
// implementation "com.google.android.material:material:$ext.material_version"
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'

Expand Down
7 changes: 5 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,15 @@
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:usesCleartextTraffic="true"
android:preserveLegacyExternalStorage="true"
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
<activity
android:name=".ui.widgetdemo.StateViewActivity"
android:exported="false" />
<activity
android:name=".ui.SplashActivity"
android:screenOrientation="portrait"
Expand Down
20 changes: 20 additions & 0 deletions app/src/main/java/com/mirkowu/mvm/MVMApplication.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
package com.mirkowu.mvm;

import android.app.Application;
import android.content.Context;
import android.os.StrictMode;

import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;

import com.mirkowu.lib_bugly.BuglyManager;
import com.mirkowu.lib_crash.CrashManager;
import com.mirkowu.lib_screen.AutoSizeManager;
import com.mirkowu.lib_stat.UmengManager;
import com.mirkowu.lib_util.LogUtil;
import com.mirkowu.lib_util.utilcode.util.ProcessUtils;
import com.mirkowu.lib_webview.util.WebViewUtil;
import com.mirkowu.lib_widget.stateview.DefaultInitializer;
import com.mirkowu.lib_widget.stateview.StateView;

import io.reactivex.rxjava3.functions.Consumer;
import io.reactivex.rxjava3.plugins.RxJavaPlugins;
Expand Down Expand Up @@ -54,6 +60,20 @@ public void accept(Throwable throwable) throws Throwable {
}
});

StateView.setDefaultInitializer(new DefaultInitializer() {
@Override
public void init(@NonNull Context context, @NonNull StateView stateView) {
stateView
// .setLoadingSrc(R.drawable.big_white)
.setLoadingText("正在拼命加载~")
.setEmptyText("暂无数据")
.setEmptySrc(com.mirkowu.lib_widget.R.drawable.widget_svg_empty)
.setErrorText("加载失败")
.setRefreshBackgroundSrc(R.drawable.shape_stroke_1dp);
stateView.getRefreshButton().setTextColor(ContextCompat.getColor(context,R.color.colorAccent));
}
});

LogUtil.d("点击 跳过 Application onCreate end---");
}

Expand Down
54 changes: 54 additions & 0 deletions app/src/main/java/com/mirkowu/mvm/bean/UpgradeBean.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.mirkowu.mvm.bean;

import com.google.gson.annotations.SerializedName;
import com.mirkowu.lib_upgrade.IUpgradeInfo;

public class UpgradeBean implements IUpgradeInfo {
@SerializedName("version_name")
public String versionName;
@SerializedName("version_code")
public int versionCode;
@SerializedName("title")
public String title;
@SerializedName("content")
public String content;
@SerializedName("apk_url")
public String apkUrl;
@SerializedName("is_force_upgrade")
public boolean isForceUpgrade;

@Override
public String getTitle() {
return title;
}

@Override
public String getContent() {
return content;
}

@Override
public String getApkUrl() {
return apkUrl;
}

@Override
public String getVersionName() {
return versionName;
}

@Override
public String getSavePath() {
return null;
}

@Override
public int getVersionCode() {
return versionCode;
}

@Override
public boolean isForceUpgrade() {
return isForceUpgrade;
}
}
26 changes: 26 additions & 0 deletions app/src/main/java/com/mirkowu/mvm/network/AppClient.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.mirkowu.mvm.network;

import com.mirkowu.lib_network.AbsRetrofitClient;

public class AppClient extends AbsRetrofitClient {

private static class Singleton {
private static final AppClient INSTANCE = new AppClient();
}

public static AppClient getInstance() {
return AppClient.Singleton.INSTANCE;
}

private AppClient() {
setDebug(true);
}



@Override
public String getBaseUrl() {
return "http://rlw8qmxdu.hd-bkt.clouddn.com";
}

}
14 changes: 14 additions & 0 deletions app/src/main/java/com/mirkowu/mvm/network/UpgradeApi.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.mirkowu.mvm.network;

import com.mirkowu.mvm.bean.UpgradeBean;

import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Url;

public interface UpgradeApi {
String UPGRADE_URL = "http://rlw8qmxdu.hd-bkt.clouddn.com/upgrade/version.json";

@GET
Observable<UpgradeBean> getUpgradeInfo(@Url String url);
}
15 changes: 15 additions & 0 deletions app/src/main/java/com/mirkowu/mvm/ui/mvp/MVPActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import android.view.View;

import com.mirkowu.lib_util.utilcode.util.BarUtils;
import com.mirkowu.lib_widget.stateview.OnRefreshListener;
import com.mirkowu.mvm.R;
import com.mirkowu.mvm.base.BaseActivity;
import com.mirkowu.mvm.databinding.ActivityMVPBinding;
Expand Down Expand Up @@ -46,6 +47,20 @@ protected void initialize() {
});
mMediator.getData();

binding.mStateView.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh() {

}
});

binding.mStateView.postDelayed(new Runnable() {
@Override
public void run() {
binding.mStateView.setGoneState();
}
},5500);

}

public void getTimeClick(View view) {
Expand Down
11 changes: 11 additions & 0 deletions app/src/main/java/com/mirkowu/mvm/ui/mvvm/MVVMActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@ package com.mirkowu.mvm.ui.mvvm
import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.graphics.ColorMatrix
import android.graphics.ColorMatrixColorFilter
import android.graphics.Paint
import android.view.View
import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager
import com.mirkowu.lib_base.util.bindingView
import com.mirkowu.lib_base.widget.RefreshHelper
import com.mirkowu.lib_network.state.observeRequest
import com.mirkowu.lib_util.ColorFilterUtils
import com.mirkowu.lib_util.LogUtil
import com.mirkowu.lib_widget.adapter.BaseRVAdapter
import com.mirkowu.lib_widget.stateview.LoadingDot
Expand All @@ -31,6 +35,7 @@ class MVVMActivity : BaseActivity<MVVMMediator?>(), RefreshHelper.OnRefreshListe
setContentView(binding.root)
}

var isGrayMode=false
override fun initialize() {
refreshHelper = RefreshHelper(binding.mRefresh, binding.mRecyclerView, this)
imageAdapter = ImageAdapter()
Expand All @@ -48,6 +53,12 @@ class MVVMActivity : BaseActivity<MVVMMediator?>(), RefreshHelper.OnRefreshListe
"TAG",
"onItemChildClick: $position"
)
isGrayMode=!isGrayMode
if (isGrayMode){
ColorFilterUtils.setGrayFilter(activity)
}else{
ColorFilterUtils.removeFilter(activity)
}
}
imageAdapter.setOnItemChildLongClickListener { view, item, position ->
LogUtil.i("TAG", "onItemChildLongClick: $position")
Expand Down
29 changes: 21 additions & 8 deletions app/src/main/java/com/mirkowu/mvm/ui/mvvm/MVVMMediator.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.mirkowu.mvm.ui.mvvm

import android.util.Log
import com.mirkowu.lib_base.mediator.BaseMediator
import com.mirkowu.lib_base.util.RxLife
import com.mirkowu.lib_base.util.RxScheduler
Expand All @@ -9,7 +10,7 @@ import com.mirkowu.lib_network.state.ResponseData
import com.mirkowu.lib_network.state.ResponseLiveData
import com.mirkowu.lib_network.util.*
import com.mirkowu.lib_util.LogUtil
import com.mirkowu.lib_util.livedata.SingleLiveData
import com.mirkowu.lib_util.livedata.FixedLiveData
import com.mirkowu.lib_util.utilcode.util.NetworkUtils
import com.mirkowu.mvm.BizModel
import com.mirkowu.mvm.bean.GankBaseBean
Expand All @@ -24,17 +25,17 @@ import io.reactivex.rxjava3.core.Observable
open class MVVMMediator : BaseMediator<IBaseView?, BizModel?>() {
@JvmField
val mImageData = ResponseLiveData<List<RandomImageBean>>()
var mLiveData = SingleLiveData<Any>()
var mError = SingleLiveData<Throwable>()
var mLiveData = FixedLiveData<Any>()
var mError = FixedLiveData<Throwable>()

@JvmField
var mRequestImageListData = ResponseLiveData<List<ImageBean>>()

@JvmField
var imageBean = ResponseLiveData< ImageListBean>()
var imageBean = ResponseLiveData<ImageListBean>()

@JvmField
var mImageError = SingleLiveData<ErrorBean>()
var mImageError = FixedLiveData<ErrorBean>()

var mPingResult = ResponseLiveData<Boolean>()

Expand All @@ -54,14 +55,14 @@ open class MVVMMediator : BaseMediator<IBaseView?, BizModel?>() {
mRequestImageListData.setValue(ResponseData.error(bean))
}
})
// loadImage2()
// loadImage2()
}

fun loadImageAsLiveData(
page: Int,
pageSize: Int
) :ResponseLiveData<ImageListBean> {
return mModel.loadImage(page, pageSize)
): ResponseLiveData<ImageListBean> {
return mModel.loadImage(page, pageSize)
.doOnDispose { LogUtil.d("RxJava 被解绑") }

.to(RxLife.bindLifecycle(mView))
Expand Down Expand Up @@ -134,6 +135,18 @@ open class MVVMMediator : BaseMediator<IBaseView?, BizModel?>() {
// mPingResult.value = ResponseData.error(it)
// })
.subscribe(object : RxObserver<Boolean>() {
override fun onStart() {
super.onStart()
mPingResult.value = ResponseData.loading()
}

override fun onFinish() {
super.onFinish()
Log.e("xxx", "set -- onFinish hasActiveObservers="+ mPingResult.hasActiveObservers())
mPingResult.value = ResponseData.finish()

}

override fun onSuccess(data: Boolean) {
mPingResult.value = ResponseData.success(data)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,6 @@ class DataBindingActivity : BaseActivity<DBMediator>() {
onFinish { }
}
mMediator.loadImage(1, 10)
binding.mStateView.setEmptyState("无数据")
}
}
Loading

0 comments on commit df35349

Please sign in to comment.