This commit is contained in:
2022-09-21 18:31:07 +08:00
parent bdaa51dbb6
commit e29ecd2845
202 changed files with 11730 additions and 619 deletions

View File

@@ -21,6 +21,7 @@ import com.yunbao.faceunity.data.FaceUnityDataFactory;
import com.yunbao.faceunity.entity.BaseBean;
import com.yunbao.faceunity.data.FineStickerDataFactory;
import com.yunbao.faceunity.entity.FunctionEnum;
import com.yunbao.faceunity.entity.MakeupCustomClassBean;
import com.yunbao.faceunity.entity.MenuGroupBean;
import com.yunbao.faceunity.entity.net.FineStickerEntity;
import com.yunbao.faceunity.entity.net.FineStickerTagEntity;
@@ -29,6 +30,7 @@ import com.yunbao.faceunity.repo.BodyBeautySource;
import com.yunbao.faceunity.repo.FaceBeautySource;
import com.yunbao.faceunity.repo.MakeupSource;
import com.yunbao.faceunity.repo.PropSource;
import com.yunbao.faceunity.seekbar.DiscreteSeekBar;
import com.yunbao.faceunity.utils.net.StickerDownloadHelper;
import java.util.ArrayList;
@@ -48,8 +50,9 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
private ContainerRecyclerAdapter containerAdapter;
private TabLayout tabLayout;
private TextView title;
private LinearLayout menu2, diy, reset, menu2Reset;
private LinearLayout menu2, menuDiy, reset, menu2Reset;
private ImageView menu2Back, back, close;
private DiscreteSeekBar seekBar;
public FaceUnityView(Context context) {
super(context);
@@ -74,7 +77,7 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
LayoutInflater.from(mContext).inflate(R.layout.layout_faceunity, this);
initView();
bindBottomView();
FineStickerDataFactory.getInstance().setCallback(this);
FineStickerDataFactory.getInstance().addCallback(this);
}
/**
@@ -100,15 +103,24 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
close = findViewById(R.id.menu_close);
reset = findViewById(R.id.menu_reset);
menu2Reset = findViewById(R.id.menu2_reset);
menuDiy = findViewById(R.id.menu_diy);
seekBar = findViewById(R.id.item_seekBar);
initMenuGroup();
setContainerRecycler(new ArrayList<>());
initViewClick();
}
private void initViewClick(){
private void initViewClick() {
menu2Back.setOnClickListener(v -> goBackMainMenu());
menuDiy.setOnClickListener(v -> {
changeRecyclerItemCount(5);
ArrayList<MakeupCustomClassBean> list = MakeupSource.buildCustomClasses();
setTab(createTabs(list));
});
}
private void goBackMainMenu(){
private void goBackMainMenu() {
setContainerRecycler(new ArrayList<>());
title.setText("美顏特效選擇");
title.setVisibility(VISIBLE);
@@ -159,6 +171,7 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
case 1:
title.setText(R.string.home_function_name_makeup);
title.setVisibility(VISIBLE);
menuDiy.setVisibility(VISIBLE);
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCombinations());
break;
@@ -221,6 +234,17 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
return list;
}
private List<TabLayout.Tab> createTabs(ArrayList<MakeupCustomClassBean> tags) {
List<TabLayout.Tab> list = new ArrayList<>();
for (MakeupCustomClassBean tag : tags) {
TabLayout.Tab tab;
tab = tabLayout.newTab().setText(tag.getDesRes());
tab.setTag(tag.getBeanType());
list.add(tab);
}
return list;
}
private void setTab(List<TabLayout.Tab> tabs) {
tabLayout.removeAllTabs();
for (TabLayout.Tab tab : tabs) {
@@ -256,6 +280,46 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
changeRecyclerItemCount(5);
setContainerRecycler(AnimojiSource.buildFilters());
break;
case FaceParam.FACE_MAKEUP_TYPE_FOUNDATION:
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCustomItemParams().get(MakeupSource.FACE_MAKEUP_TYPE_FOUNDATION));
break;
case FaceParam.FACE_MAKEUP_TYPE_LIP_STICK:
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCustomItemParams().get(MakeupSource.FACE_MAKEUP_TYPE_LIP_STICK));
break;
case FaceParam.FACE_MAKEUP_TYPE_BLUSHER:
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCustomItemParams().get(MakeupSource.FACE_MAKEUP_TYPE_BLUSHER));
break;
case FaceParam.FACE_MAKEUP_TYPE_EYE_BROW:
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCustomItemParams().get(MakeupSource.FACE_MAKEUP_TYPE_EYE_BROW));
break;
case FaceParam.FACE_MAKEUP_TYPE_EYE_SHADOW:
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCustomItemParams().get(MakeupSource.FACE_MAKEUP_TYPE_EYE_SHADOW));
break;
case FaceParam.FACE_MAKEUP_TYPE_EYE_LINER:
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCustomItemParams().get(MakeupSource.FACE_MAKEUP_TYPE_EYE_LINER));
break;
case FaceParam.FACE_MAKEUP_TYPE_EYE_LASH:
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCustomItemParams().get(MakeupSource.FACE_MAKEUP_TYPE_EYE_LASH));
break;
case FaceParam.FACE_MAKEUP_TYPE_HIGH_LIGHT:
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCustomItemParams().get(MakeupSource.FACE_MAKEUP_TYPE_HIGH_LIGHT));
break;
case FaceParam.FACE_MAKEUP_TYPE_SHADOW:
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCustomItemParams().get(MakeupSource.FACE_MAKEUP_TYPE_SHADOW));
break;
case FaceParam.FACE_MAKEUP_TYPE_EYE_PUPIL:
changeRecyclerItemCount(5);
setContainerRecycler(MakeupSource.buildCustomItemParams().get(MakeupSource.FACE_MAKEUP_TYPE_EYE_PUPIL));
break;
default:
setContainerRecycler(new ArrayList<>());
}
@@ -291,6 +355,7 @@ public class FaceUnityView extends LinearLayout implements StickerDownloadHelper
private void setContainerRecycler(ArrayList<? extends BaseBean> list) {
if (containerAdapter == null) {
containerAdapter = new ContainerRecyclerAdapter(mContext);
containerAdapter.setSeekBar(seekBar);
containerRecycler.setLayoutManager(new GridLayoutManager(mContext, 2));
containerRecycler.setAdapter(containerAdapter);
}