|
@@ -1,6 +1,13 @@
|
|
package org.telegram.cricdit.ui;
|
|
package org.telegram.cricdit.ui;
|
|
|
|
|
|
|
|
+import static android.app.Activity.RESULT_OK;
|
|
|
|
+import static com.luck.picture.lib.config.PictureConfig.CHOOSE_REQUEST;
|
|
|
|
+import static org.telegram.cricdit.config.Constants.FILE_SPECIFY_SIZE;
|
|
|
|
+import static org.telegram.cricdit.view.pictureselect.ImageFileCompressEngine.getCompressFileEngine;
|
|
|
|
+import static org.telegram.cricdit.view.pictureselect.PictureGlideEngine.getPictureSelectorStyle;
|
|
|
|
+
|
|
import android.content.Context;
|
|
import android.content.Context;
|
|
|
|
+import android.content.Intent;
|
|
import android.graphics.drawable.GradientDrawable;
|
|
import android.graphics.drawable.GradientDrawable;
|
|
import android.os.Build;
|
|
import android.os.Build;
|
|
import android.os.Vibrator;
|
|
import android.os.Vibrator;
|
|
@@ -18,6 +25,7 @@ import android.view.inputmethod.EditorInfo;
|
|
import android.widget.Button;
|
|
import android.widget.Button;
|
|
import android.widget.EditText;
|
|
import android.widget.EditText;
|
|
import android.widget.FrameLayout;
|
|
import android.widget.FrameLayout;
|
|
|
|
+import android.widget.ImageView;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.TextView;
|
|
import android.widget.TextView;
|
|
import android.widget.Toast;
|
|
import android.widget.Toast;
|
|
@@ -25,6 +33,20 @@ import android.widget.Toast;
|
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
|
|
|
|
|
+import com.bumptech.glide.Glide;
|
|
|
|
+import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
|
|
|
+import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
|
|
|
+import com.bumptech.glide.request.RequestOptions;
|
|
|
|
+import com.luck.picture.lib.animators.AnimationType;
|
|
|
|
+import com.luck.picture.lib.basic.PictureSelectionModel;
|
|
|
|
+import com.luck.picture.lib.basic.PictureSelector;
|
|
|
|
+import com.luck.picture.lib.config.SelectMimeType;
|
|
|
|
+import com.luck.picture.lib.config.SelectModeConfig;
|
|
|
|
+import com.luck.picture.lib.engine.ImageEngine;
|
|
|
|
+import com.luck.picture.lib.entity.LocalMedia;
|
|
|
|
+import com.luck.picture.lib.language.LanguageConfig;
|
|
|
|
+import com.luck.picture.lib.style.PictureSelectorStyle;
|
|
|
|
+
|
|
import org.greenrobot.eventbus.Subscribe;
|
|
import org.greenrobot.eventbus.Subscribe;
|
|
import org.greenrobot.eventbus.ThreadMode;
|
|
import org.greenrobot.eventbus.ThreadMode;
|
|
import org.telegram.cricdit.adapter.PublishRankingAdapter;
|
|
import org.telegram.cricdit.adapter.PublishRankingAdapter;
|
|
@@ -41,17 +63,20 @@ import org.telegram.cricdit.utils.ColorUtil;
|
|
import org.telegram.cricdit.utils.EventBusHelper;
|
|
import org.telegram.cricdit.utils.EventBusHelper;
|
|
import org.telegram.cricdit.utils.ToastUtil;
|
|
import org.telegram.cricdit.utils.ToastUtil;
|
|
import org.telegram.cricdit.utils.UIUtil;
|
|
import org.telegram.cricdit.utils.UIUtil;
|
|
|
|
+import org.telegram.cricdit.view.pictureselect.PictureGlideEngine;
|
|
import org.telegram.messenger.AndroidUtilities;
|
|
import org.telegram.messenger.AndroidUtilities;
|
|
import org.telegram.messenger.LocaleController;
|
|
import org.telegram.messenger.LocaleController;
|
|
import org.telegram.messenger.R;
|
|
import org.telegram.messenger.R;
|
|
import org.telegram.messenger.UserConfig;
|
|
import org.telegram.messenger.UserConfig;
|
|
import org.telegram.ui.ActionBar.ActionBarMenu;
|
|
import org.telegram.ui.ActionBar.ActionBarMenu;
|
|
import org.telegram.ui.ActionBar.ActionBarMenuItem;
|
|
import org.telegram.ui.ActionBar.ActionBarMenuItem;
|
|
|
|
+import org.telegram.ui.ActionBar.AlertDialog;
|
|
import org.telegram.ui.ActionBar.Theme;
|
|
import org.telegram.ui.ActionBar.Theme;
|
|
import org.telegram.ui.Components.EditTextBoldCursor;
|
|
import org.telegram.ui.Components.EditTextBoldCursor;
|
|
import org.telegram.ui.Components.LayoutHelper;
|
|
import org.telegram.ui.Components.LayoutHelper;
|
|
import org.telegram.ui.Components.NumberTextView;
|
|
import org.telegram.ui.Components.NumberTextView;
|
|
|
|
|
|
|
|
+import java.io.File;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
@@ -65,11 +90,16 @@ public class PublishRankingActivity extends BaseActivity<PublishRankingPresenter
|
|
private List<PublishRankBean> mPublishRankBeanList;
|
|
private List<PublishRankBean> mPublishRankBeanList;
|
|
private EditText et_title;
|
|
private EditText et_title;
|
|
private NumberTextView tv_title_length;
|
|
private NumberTextView tv_title_length;
|
|
- private TextView tv_2;
|
|
|
|
private View view_add;
|
|
private View view_add;
|
|
private LinearLayout ll_title;
|
|
private LinearLayout ll_title;
|
|
|
|
+ private ImageView iv_select;
|
|
private ActionBarMenuItem actionBarMenuItem;
|
|
private ActionBarMenuItem actionBarMenuItem;
|
|
private final int maxTitleLength = 50;
|
|
private final int maxTitleLength = 50;
|
|
|
|
+ private ArrayList<LocalMedia> localMediaList;
|
|
|
|
+ private PictureSelectorStyle selectorStyle;
|
|
|
|
+ private ImageEngine imageEngine;
|
|
|
|
+ private AlertDialog dialog;
|
|
|
|
+ private String photoUrl;
|
|
@Override
|
|
@Override
|
|
protected int getLayoutResId() {
|
|
protected int getLayoutResId() {
|
|
return R.layout.activity_publish_ranking;
|
|
return R.layout.activity_publish_ranking;
|
|
@@ -90,9 +120,10 @@ public class PublishRankingActivity extends BaseActivity<PublishRankingPresenter
|
|
this.view = view;
|
|
this.view = view;
|
|
mRecyclerView = view.findViewById(R.id.publish_ranking_recyclerview);
|
|
mRecyclerView = view.findViewById(R.id.publish_ranking_recyclerview);
|
|
et_title = view.findViewById(R.id.et_title);
|
|
et_title = view.findViewById(R.id.et_title);
|
|
- tv_2 = view.findViewById(R.id.tv_2);
|
|
|
|
view_add = view.findViewById(R.id.view_add);
|
|
view_add = view.findViewById(R.id.view_add);
|
|
ll_title = view.findViewById(R.id.ll_title);
|
|
ll_title = view.findViewById(R.id.ll_title);
|
|
|
|
+ iv_select = view.findViewById(R.id.iv_select);
|
|
|
|
+ dialog = new AlertDialog(getContext(), 3);
|
|
|
|
|
|
tv_title_length = new NumberTextView(getContext());
|
|
tv_title_length = new NumberTextView(getContext());
|
|
tv_title_length.setCenterAlign(true);
|
|
tv_title_length.setCenterAlign(true);
|
|
@@ -130,15 +161,21 @@ public class PublishRankingActivity extends BaseActivity<PublishRankingPresenter
|
|
actionBarMenuItem.setIconColor(ColorUtil.COLOR_WHITE);
|
|
actionBarMenuItem.setIconColor(ColorUtil.COLOR_WHITE);
|
|
actionBarMenuItem.setVisibility(View.GONE);
|
|
actionBarMenuItem.setVisibility(View.GONE);
|
|
actionBarMenuItem.setOnClickListener(view1 -> {
|
|
actionBarMenuItem.setOnClickListener(view1 -> {
|
|
|
|
+ AndroidUtilities.hideKeyboard(et_title);
|
|
String title = et_title.getText().toString();
|
|
String title = et_title.getText().toString();
|
|
|
|
+ if(TextUtils.isEmpty(photoUrl)){
|
|
|
|
+ ToastUtil.show(getContext(),LocaleController.getString(R.string.please_upload_image));
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
if(TextUtils.isEmpty(title.trim())){
|
|
if(TextUtils.isEmpty(title.trim())){
|
|
ToastUtil.show(getContext(),et_title.getHint().toString());
|
|
ToastUtil.show(getContext(),et_title.getHint().toString());
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
if(mPublishRankBeanList.size() > 1){
|
|
if(mPublishRankBeanList.size() > 1){
|
|
- AndroidUtilities.hideKeyboard(et_title);
|
|
|
|
if (UserConfig.getInstance(UserConfig.selectedAccount).isClientActivated()) {
|
|
if (UserConfig.getInstance(UserConfig.selectedAccount).isClientActivated()) {
|
|
- presenter.publishRanking(title,mPublishRankBeanList);
|
|
|
|
|
|
+ //fixme ltt 封面
|
|
|
|
+ dialog.show();
|
|
|
|
+ presenter.publishRanking(title,mPublishRankBeanList,photoUrl);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -184,6 +221,35 @@ public class PublishRankingActivity extends BaseActivity<PublishRankingPresenter
|
|
return false;
|
|
return false;
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ localMediaList = new ArrayList<>();
|
|
|
|
+ imageEngine = PictureGlideEngine.createGlideEngine();
|
|
|
|
+ selectorStyle = getPictureSelectorStyle();
|
|
|
|
+ iv_select.setOnClickListener(view1 -> {
|
|
|
|
+ AndroidUtilities.hideKeyboard(et_title);
|
|
|
|
+ PictureSelectionModel selectionModel = PictureSelector.create(getContext())
|
|
|
|
+ .openGallery(SelectMimeType.ofImage())
|
|
|
|
+ .setSelectorUIStyle(selectorStyle)
|
|
|
|
+ .setImageEngine(imageEngine)
|
|
|
|
+ .isPageSyncAlbumCount(true)
|
|
|
|
+ .setCompressEngine(getCompressFileEngine())
|
|
|
|
+ .setSelectionMode(SelectModeConfig.SINGLE)
|
|
|
|
+ .setLanguage(LanguageConfig.SYSTEM_LANGUAGE)
|
|
|
|
+ .isDisplayTimeAxis(true)
|
|
|
|
+ .isDisplayCamera(false)
|
|
|
|
+ .isFastSlidingSelect(true)
|
|
|
|
+ .isWithSelectVideoImage(false)
|
|
|
|
+ .isPreviewFullScreenMode(true)
|
|
|
|
+ .isPreviewZoomEffect(true)
|
|
|
|
+ .isPreviewImage(true)
|
|
|
|
+ .isMaxSelectEnabledMask(true)
|
|
|
|
+ .setMaxSelectNum(1)
|
|
|
|
+ .setFilterMaxFileSize(FILE_SPECIFY_SIZE)
|
|
|
|
+ .setSelectMaxFileSize(FILE_SPECIFY_SIZE)
|
|
|
|
+ .setRecyclerAnimationMode(AnimationType.DEFAULT_ANIMATION)
|
|
|
|
+ .setSelectedData(localMediaList);
|
|
|
|
+ selectionModel.forResult(CHOOSE_REQUEST);
|
|
|
|
+ });
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
|
@@ -223,12 +289,14 @@ public class PublishRankingActivity extends BaseActivity<PublishRankingPresenter
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void showSuccess(String info) {
|
|
public void showSuccess(String info) {
|
|
|
|
+ dialog.dismiss();
|
|
ToastUtil.show(getContext(),info);
|
|
ToastUtil.show(getContext(),info);
|
|
finishFragment();
|
|
finishFragment();
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void showError(Throwable e) {
|
|
public void showError(Throwable e) {
|
|
|
|
+ dialog.dismiss();
|
|
if (!(e instanceof ApiException)) {
|
|
if (!(e instanceof ApiException)) {
|
|
ToastUtil.show(getContext(),LocaleController.getString(R.string.network_failed));
|
|
ToastUtil.show(getContext(),LocaleController.getString(R.string.network_failed));
|
|
} else {
|
|
} else {
|
|
@@ -236,5 +304,41 @@ public class PublishRankingActivity extends BaseActivity<PublishRankingPresenter
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public void updateImg(String url) {
|
|
|
|
+ dialog.dismiss();
|
|
|
|
+ photoUrl = url;
|
|
|
|
+ Glide.with(getContext())
|
|
|
|
+ .load(photoUrl)
|
|
|
|
+ .placeholder(R.mipmap.img_select_add)
|
|
|
|
+ .apply(new RequestOptions().transforms(new CenterCrop(), new RoundedCorners(UIUtil.dip2px(getContext(), 7))))
|
|
|
|
+ .into(iv_select);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void showErrorImg(Throwable e) {
|
|
|
|
+ dialog.dismiss();
|
|
|
|
+ photoUrl = "";
|
|
|
|
+ iv_select.setImageResource(R.mipmap.img_select_add);
|
|
|
|
+ ToastUtil.show(getContext(),LocaleController.getString(R.string.please_try_again));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void onActivityResultFragment(int requestCode, int resultCode, Intent data) {
|
|
|
|
+ super.onActivityResultFragment(requestCode, resultCode, data);
|
|
|
|
+ if (resultCode == RESULT_OK) {
|
|
|
|
+ switch (requestCode) {
|
|
|
|
+ case CHOOSE_REQUEST:
|
|
|
|
+ localMediaList = PictureSelector.obtainSelectorList(data);
|
|
|
|
+ String fileVideoPath = localMediaList.get(0).getRealPath();
|
|
|
|
+ if(!TextUtils.isEmpty(fileVideoPath)){
|
|
|
|
+ dialog.show();
|
|
|
|
+ presenter.uploadFile(new File(fileVideoPath));
|
|
|
|
+ }
|
|
|
|
+ AndroidUtilities.hideKeyboard(et_title);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|