正在查看: Glean v1.1.34 应用的 LightBoxActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Glean v1.1.34 应用的 LightBoxActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package io.intercom.android.sdk.lightbox;
import android.animation.ArgbEvaluator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.transition.Transition;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import coil.request.ImageRequest;
import io.intercom.android.sdk.R;
import io.intercom.android.sdk.utilities.IntercomCoilKt;
import kotlinx.coroutines.internal.LockFreeTaskQueueCore;
public class LightBoxActivity extends AppCompatActivity implements LightBoxListener {
private static final int ANIMATION_TIME_MS = 300;
private static final String EXTRA_ACTIVITY_FULLSCREEN = "extra_activity_fullscreen";
private static final String EXTRA_IMAGE_URL = "extra_image_url";
public static final String TRANSITION_KEY = "lightbox_image";
private String imageUrl = "";
ViewGroup rootView;
protected void onCreate(Bundle bundle) {
Bundle extras = getIntent().getExtras();
if (extras != null) {
this.imageUrl = extras.getString(EXTRA_IMAGE_URL, "");
if (extras.getBoolean(EXTRA_ACTIVITY_FULLSCREEN, false)) {
requestWindowFeature(1);
getWindow().setFlags(LockFreeTaskQueueCore.MIN_ADD_SPIN_CAPACITY, LockFreeTaskQueueCore.MIN_ADD_SPIN_CAPACITY);
}
}
super.onCreate(bundle);
setContentView(R.layout.intercom_activity_lightbox);
this.rootView = (ViewGroup) findViewById(R.id.root_view);
?? r4 = (LightBoxImageView) findViewById(R.id.full_image);
r4.setTransitionName(TRANSITION_KEY);
loadImage(r4);
reloadAfterTransition(r4);
r4.setLightBoxListener(this);
fadeIn();
}
private void reloadAfterTransition(final LightBoxImageView lightBoxImageView) {
getWindow().getSharedElementEnterTransition().addListener(new Transition.TransitionListener() {
@Override
public void onTransitionCancel(Transition transition) {
}
@Override
public void onTransitionPause(Transition transition) {
}
@Override
public void onTransitionResume(Transition transition) {
}
@Override
public void onTransitionStart(Transition transition) {
}
@Override
public void onTransitionEnd(Transition transition) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
LightBoxActivity.this.loadImage(lightBoxImageView);
}
}, 10L);
}
});
}
public void loadImage(ImageView imageView) {
IntercomCoilKt.loadIntercomImage(imageView.getContext(), new ImageRequest.Builder(imageView.getContext()).data(this.imageUrl).crossfade(true).error(R.drawable.intercom_image_load_failed).target(imageView).build());
}
private void fadeIn() {
ValueAnimator ofObject = ValueAnimator.ofObject(new ArgbEvaluator(), Integer.valueOf(ContextCompat.getColor(this, R.color.intercom_full_transparent_full_black)), Integer.valueOf(ContextCompat.getColor(this, R.color.intercom_transparent_black_lightbox)));
ofObject.setDuration(300L);
ofObject.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
LightBoxActivity.this.rootView.setBackgroundColor(((Integer) valueAnimator.getAnimatedValue()).intValue());
}
});
ofObject.start();
}
private void fadeOut() {
ValueAnimator ofObject = ValueAnimator.ofObject(new ArgbEvaluator(), Integer.valueOf(ContextCompat.getColor(this, R.color.intercom_transparent_black_lightbox)), Integer.valueOf(ContextCompat.getColor(this, R.color.intercom_full_transparent_full_black)));
ofObject.setDuration(300L);
ofObject.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
LightBoxActivity.this.rootView.setBackgroundColor(((Integer) valueAnimator.getAnimatedValue()).intValue());
}
});
ofObject.start();
}
public static Intent imageIntent(Context context, String str, boolean z) {
return new Intent(context, (Class<?>) LightBoxActivity.class).putExtra(EXTRA_IMAGE_URL, str).putExtra(EXTRA_ACTIVITY_FULLSCREEN, z);
}
public void onBackPressed() {
super.onBackPressed();
closeLightBox();
}
@Override
public void closeLightBox() {
fadeOut();
supportFinishAfterTransition();
}
}