version:1.1

fix:
update:迁移到UIUISOS
This commit is contained in:
2022-10-21 14:18:49 +08:00
parent 95f7d25307
commit ba540d4689
157 changed files with 1301 additions and 633 deletions

View File

@@ -0,0 +1,102 @@
package com.uiuios.aios.activity.code;
import android.graphics.Color;
import android.view.View;
import android.widget.ImageView;
import androidx.viewpager.widget.ViewPager;
import com.bumptech.glide.Glide;
import com.uiuios.aios.R;
import com.uiuios.aios.adapter.HealthCodeAdapter;
import com.uiuios.aios.base.BaseActivity;
import com.uiuios.aios.bean.HealthCode;
import com.uiuios.aios.utils.ToastUtil;
import com.uiuios.aios.view.ScaleCircleNavigator;
import net.lucode.hackware.magicindicator.MagicIndicator;
import net.lucode.hackware.magicindicator.ViewPagerHelper;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class HealthCodeActivity extends BaseActivity implements HealthCodeContact.CodeView {
@BindView(R.id.viewPager)
ViewPager mViewPager;
@BindView(R.id.magicIndicator)
MagicIndicator mMagicIndicator;
@BindView(R.id.iv_nodata)
ImageView iv_nodata;
private HealthCodePresenter mPresenter;
private HealthCodeAdapter mHealthCodeAdapter;
private ScaleCircleNavigator scaleCircleNavigator;
@Override
public int getLayoutId() {
return R.layout.activity_code;
}
@Override
public void initView() {
ButterKnife.bind(this);
mPresenter = new HealthCodePresenter(this);
mPresenter.attachView(this);
mPresenter.setLifecycle(lifecycleSubject);
mHealthCodeAdapter = new HealthCodeAdapter();
mViewPager.setAdapter(mHealthCodeAdapter);
scaleCircleNavigator = new ScaleCircleNavigator(this);
}
@Override
public void initData() {
mPresenter.getHealthCode();
}
private void setImageViews(List<HealthCode> healthCodes) {
mMagicIndicator.setNavigator(scaleCircleNavigator);
scaleCircleNavigator.setCircleCount(healthCodes.size());
scaleCircleNavigator.setNormalCircleColor(Color.DKGRAY);
scaleCircleNavigator.setSelectedCircleColor(Color.LTGRAY);
scaleCircleNavigator.setCircleClickListener(new ScaleCircleNavigator.OnCircleClickListener() {
@Override
public void onClick(int index) {
}
});
ViewPagerHelper.bind(mMagicIndicator, mViewPager);
List<ImageView> imageViews = new ArrayList<>();
for (HealthCode healthCode : healthCodes) {
ImageView image = new ImageView(this);
image.setAdjustViewBounds(true);
image.setScaleType(ImageView.ScaleType.FIT_CENTER);
Glide.with(this).load(healthCode.getImg()).into(image);
imageViews.add(image);
}
mHealthCodeAdapter.setImageViews(imageViews);
mHealthCodeAdapter.notifyDataSetChanged();
}
@Override
public void setHealthCode(List<HealthCode> codeList) {
setImageViews(codeList);
mViewPager.setVisibility(View.VISIBLE);
mMagicIndicator.setVisibility(View.VISIBLE);
iv_nodata.setVisibility(View.GONE);
}
@Override
public void setHealthCodeNodata() {
mViewPager.setVisibility(View.GONE);
mMagicIndicator.setVisibility(View.GONE);
iv_nodata.setVisibility(View.VISIBLE);
}
@Override
public void onError() {
ToastUtil.show("连接服务器失败,请检查网络连接");
}
}

View File

@@ -0,0 +1,19 @@
package com.uiuios.aios.activity.code;
import com.uiuios.aios.base.BasePresenter;
import com.uiuios.aios.base.BaseView;
import com.uiuios.aios.bean.HealthCode;
import java.util.List;
public class HealthCodeContact {
public interface Presenter extends BasePresenter<CodeView> {
void getHealthCode();
}
public interface CodeView extends BaseView {
void setHealthCode(List<HealthCode> codeList);
void setHealthCodeNodata();
void onError();
}
}

View File

@@ -0,0 +1,68 @@
package com.uiuios.aios.activity.code;
import android.content.Context;
import android.util.Log;
import androidx.annotation.NonNull;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.uiuios.aios.bean.HealthCode;
import com.uiuios.aios.network.NetInterfaceManager;
import java.util.List;
import io.reactivex.rxjava3.subjects.BehaviorSubject;
public class HealthCodePresenter implements HealthCodeContact.Presenter {
private static final String TAG = HealthCodePresenter.class.getSimpleName();
private HealthCodeContact.CodeView mView;
private Context mContext;
private BehaviorSubject<ActivityEvent> lifecycle;
void setLifecycle(BehaviorSubject<ActivityEvent> lifecycle) {
this.lifecycle = lifecycle;
}
public BehaviorSubject<ActivityEvent> getLifecycle() {
return lifecycle;
}
HealthCodePresenter(Context context) {
this.mContext = context;
Log.e(TAG, "MainPresenter: " + context.getClass());
}
@Override
public void attachView(@NonNull HealthCodeContact.CodeView view) {
this.mView = view;
}
@Override
public void detachView() {
this.mView = null;
}
@Override
public void getHealthCode() {
NetInterfaceManager.getInstance().getHealthCode(true, getLifecycle(), new NetInterfaceManager.HealthCodeCallback() {
@Override
public void setHealthCode(List<HealthCode> healthCode) {
mView.setHealthCode(healthCode);
}
@Override
public void noData() {
mView.setHealthCodeNodata();
}
@Override
public void onError() {
mView.onError();
}
});
}
}