Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	skin/mogo-skin-light/build.gradle
This commit is contained in:
wangcongtao
2020-09-02 14:52:59 +08:00
266 changed files with 543 additions and 3290 deletions

View File

@@ -2,6 +2,8 @@ package com.mogo.module.extensions.bean;
import android.view.View;
import java.util.Objects;
/**
* 底层view封装
*
@@ -12,7 +14,8 @@ public class BottomLayerViewWrapper {
private int x;
private int y;
public BottomLayerViewWrapper(){}
public BottomLayerViewWrapper() {
}
public BottomLayerViewWrapper(View view, int x, int y) {
this.view = view;
@@ -20,6 +23,25 @@ public class BottomLayerViewWrapper {
this.y = y;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
BottomLayerViewWrapper wrapper = (BottomLayerViewWrapper) o;
return x == wrapper.x &&
y == wrapper.y &&
view.equals(wrapper.view);
}
@Override
public int hashCode() {
return Objects.hash(view);
}
public View getView() {
return view;
}

View File

@@ -14,6 +14,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.AbsMogoApplication;
@@ -56,6 +57,8 @@ import com.mogo.service.statusmanager.StatusDescriptor;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.LaunchUtils;
import com.mogo.utils.ResourcesHelper;
import com.mogo.utils.TipDrawable;
import com.mogo.utils.TipToast;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.glide.GlideApp;
import com.mogo.utils.logger.Logger;
@@ -319,9 +322,25 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mUploadButtonAnimatorController = new UploadButtonAnimatorController(mUploading, mUpload,
mStatusManager);
dealWeatherContainer();
debugTopView();
}
/**
* 由于Launcher和Independent对于天气的表现形式不太一样所以通过此方法区分处理
*/
private void dealWeatherContainer(){
if (!DebugConfig.isLauncher()) {
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone((ConstraintLayout) getView());
constraintSet.clear(R.id.module_ext_id_weather_container,ConstraintSet.START);
constraintSet.connect(R.id.module_ext_id_weather_container, ConstraintSet.END,
getView().getId(), ConstraintSet.END);
constraintSet.applyTo((ConstraintLayout) getView());
}
}
public void showShareDialog() {
isClickShare = true;
mApis.getShareManager().showShareDialog();
@@ -601,6 +620,21 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
tv.setText("entrance add");
mApis.getEntranceButtonController().addBottomLayerView(tv, 50, 50);
});
findViewById(R.id.btnShowTextTip).setOnClickListener(v-> TipToast.tip("分享成功"));
findViewById(R.id.btnShowDrawableTip).setOnClickListener(v->{
mMsgContainer.setVisibility(View.VISIBLE);
// TipDrawable drawable =
// new TipDrawable(getResources().getDrawable(R.drawable.model_ext_default_user_head), 150, 150);
// TipToast.tip("分享成功",drawable);
});
findViewById(R.id.btnShowDrawableTipNoSize).setOnClickListener(v->{
mMsgContainer.setVisibility(View.GONE);
// TipDrawable drawable =
// new TipDrawable(getResources().getDrawable(R.drawable.model_ext_default_user_head));
// TipToast.tip("分享成功",drawable);
});
}
@Override

View File

@@ -58,12 +58,26 @@ public class EntranceViewHolder {
"\n x: " + x + ", y: " + y);
BottomLayerViewWrapper wrapper = new BottomLayerViewWrapper(view, x, y);
if(rootViewGroup == null) {
preAddView.add(wrapper);
if(!preAddView.contains(wrapper)) {
preAddView.add(wrapper);
}
}else{
realAddView(wrapper);
if(!containView(view)) {
realAddView(wrapper);
}
}
}
private boolean containView(View view) {
int count = rootViewGroup.getChildCount();
for (int i = 0; i < count; i++) {
if(rootViewGroup.getChildAt(i).equals(view)){
return true;
}
}
return false;
}
/**
* 使用的时候需要预先判断rootViewGroup是否为空本方法默认rootViewGroup不为空
*/