导航菜单

页面标题

页面副标题

Glean v1.1.34 - LightBoxActivity.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();
    }
}