Merge remote-tracking branch 'origin/release' into dev
# Conflicts: # app/src/main/java/com/gh/common/FixedRateJobHelper.kt # app/src/main/java/com/gh/common/databind/BindingAdapters.java # app/src/main/java/com/gh/common/util/DetailDownloadUtils.java # app/src/main/java/com/gh/common/util/DialogUtils.java # app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.java # app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListViewModel.kt # dependencies.gradle
This commit is contained in:
@ -40,9 +40,7 @@ import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
@ -51,6 +49,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.facebook.drawee.generic.GenericDraweeHierarchy;
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.gh.common.constant.Config;
|
||||
import com.gh.common.filter.RegionSetting;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.SuggestionActivity;
|
||||
import com.gh.gamecenter.adapter.ReportReasonAdapter;
|
||||
@ -60,11 +59,9 @@ import com.gh.gamecenter.common.callback.CancelListener;
|
||||
import com.gh.gamecenter.common.callback.ConfirmListener;
|
||||
import com.gh.gamecenter.common.callback.SimpleCallback;
|
||||
import com.gh.gamecenter.common.databinding.DialogAlertDefaultBinding;
|
||||
import com.gh.gamecenter.common.retrofit.Response;
|
||||
import com.gh.gamecenter.common.utils.ExtensionsKt;
|
||||
import com.gh.gamecenter.common.utils.ImageUtils;
|
||||
import com.gh.gamecenter.common.utils.NetworkUtils;
|
||||
import com.gh.gamecenter.common.utils.PermissionHelper;
|
||||
import com.gh.gamecenter.common.view.CustomLinkMovementMethod;
|
||||
import com.gh.gamecenter.common.view.DrawableView;
|
||||
import com.gh.gamecenter.common.view.FixLinearLayoutManager;
|
||||
@ -99,7 +96,6 @@ import com.gh.gamecenter.login.entity.Badge;
|
||||
import com.gh.gamecenter.retrofit.RetrofitManager;
|
||||
import com.gh.gamecenter.setting.GameDownloadSettingFragment;
|
||||
import com.gh.gamecenter.suggest.SuggestType;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.halo.assistant.HaloApp;
|
||||
import com.lightgame.adapter.BaseRecyclerAdapter;
|
||||
import com.lightgame.download.DownloadEntity;
|
||||
@ -116,7 +112,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import retrofit2.HttpException;
|
||||
|
||||
public class DialogUtils {
|
||||
|
||||
@ -1309,39 +1304,15 @@ public class DialogUtils {
|
||||
binding.gameNameTv.setText(context.getString(R.string.dialog_oversea_hint, gameEntity.getName()));
|
||||
binding.closeIv.setOnClickListener(v -> dialog.dismiss());
|
||||
|
||||
Context finalContext = context;
|
||||
RetrofitManager.getInstance().getApi().getThirdPartyAddress(gameEntity.getId())
|
||||
.compose(ExtensionsKt.observableToMain())
|
||||
.subscribe(new Response<JsonObject>() {
|
||||
@Override
|
||||
public void onResponse(@Nullable JsonObject response) {
|
||||
super.onResponse(response);
|
||||
if (response == null) return;
|
||||
String h5Link = response.get("h5_link").getAsString();
|
||||
String downloadLink = response.get("download_link").getAsString();
|
||||
String buttonText = response.get("button_text").getAsString();
|
||||
binding.urlTv.setText(downloadLink);
|
||||
binding.downloadBtn.setText(buttonText);
|
||||
binding.downloadBtn.setOnClickListener(v -> {
|
||||
DirectUtils.directToExternalBrowser(finalContext, h5Link);
|
||||
dialog.dismiss();
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@Nullable HttpException e) {
|
||||
super.onFailure(e);
|
||||
if ("show&download".equals(gameEntity.getOverseasAddressDialog().getStatus())) {
|
||||
gameEntity.getApk().get(0).setUrl(gameEntity.getOverseasAddressDialog().getLink());
|
||||
}
|
||||
binding.urlTv.setText(gameEntity.getOverseasAddressDialog().getLink());
|
||||
binding.downloadBtn.setText("下载(" + gameEntity.getApk().get(0).getSize() + ")");
|
||||
binding.downloadBtn.setOnClickListener(v -> {
|
||||
listener.onConfirm();
|
||||
dialog.dismiss();
|
||||
});
|
||||
}
|
||||
});
|
||||
if ("show&download".equals(gameEntity.getOverseasAddressDialog().getStatus())) {
|
||||
gameEntity.getApk().get(0).setUrl(gameEntity.getOverseasAddressDialog().getLink());
|
||||
}
|
||||
binding.urlTv.setText(gameEntity.getOverseasAddressDialog().getLink());
|
||||
binding.downloadBtn.setText("下载(" + gameEntity.getApk().get(0).getSize() + ")");
|
||||
binding.downloadBtn.setOnClickListener(v -> {
|
||||
listener.onConfirm();
|
||||
dialog.dismiss();
|
||||
});
|
||||
|
||||
Window window = dialog.getWindow();
|
||||
if (window != null) {
|
||||
@ -1353,6 +1324,36 @@ public class DialogUtils {
|
||||
dialog.show();
|
||||
}
|
||||
}
|
||||
public static void showGameH5DownloadDialog(Context context, GameEntity gameEntity, RegionSetting.GameH5Download gameH5Download) {
|
||||
context = checkDialogContext(context);
|
||||
|
||||
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
|
||||
|
||||
DialogOverseaConfirmationBinding binding = DialogOverseaConfirmationBinding.inflate(LayoutInflater.from(context), null, false);
|
||||
|
||||
View contentView = binding.getRoot();
|
||||
|
||||
binding.gameIcon.displayGameIcon(gameEntity);
|
||||
binding.gameNameTv.setText(context.getString(R.string.dialog_oversea_hint, gameEntity.getName()));
|
||||
binding.closeIv.setOnClickListener(v -> dialog.dismiss());
|
||||
|
||||
Context finalContext = context;
|
||||
binding.urlTv.setText(gameH5Download.getDownloadLink());
|
||||
binding.downloadBtn.setText(gameH5Download.getButtonText());
|
||||
binding.downloadBtn.setOnClickListener(v -> {
|
||||
DirectUtils.directToExternalBrowser(finalContext, gameH5Download.getH5Link());
|
||||
dialog.dismiss();
|
||||
});
|
||||
|
||||
Window window = dialog.getWindow();
|
||||
if (window != null) {
|
||||
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
}
|
||||
|
||||
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
dialog.setContentView(contentView);
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
public static void showImprintDialog(Context context, GameEntity gameEntity, String titleName) {
|
||||
context = checkDialogContext(context);
|
||||
|
||||
Reference in New Issue
Block a user