导航菜单

页面标题

页面副标题

St.John's v1.0.9 - DefaultImagePreviewActivity.java 源代码

正在查看: St.John's v1.0.9 应用的 DefaultImagePreviewActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.chinalwb.are.strategies.defaults;

import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentActivity;
import com.bumptech.glide.request.target.SimpleTarget;
import com.bumptech.glide.request.transition.Transition;
import com.chinalwb.are.R;
import com.chinalwb.are.Util;
import com.chinalwb.are.glidesupport.GlideApp;
import com.chinalwb.are.glidesupport.GlideRequest;
import com.chinalwb.are.glidesupport.GlideRequests;
import com.chinalwb.are.spans.AreImageSpan;

public class DefaultImagePreviewActivity extends AppCompatActivity {
    private static final boolean AUTO_HIDE = true;
    private static final int AUTO_HIDE_DELAY_MILLIS = 3000;
    private static final int UI_ANIMATION_DELAY = 300;
    private static GlideRequests sGlideRequests;
    private static int sWidth;
    private ImageView mContentView;
    private View mControlsView;
    private boolean mVisible;
    private final Handler mHideHandler = new Handler();
    private final Runnable mHidePart2Runnable = new Runnable() {
        @Override
        public void run() {
            DefaultImagePreviewActivity.this.mContentView.setSystemUiVisibility(4871);
        }
    };
    private final Runnable mShowPart2Runnable = new Runnable() {
        @Override
        public void run() {
            ActionBar supportActionBar = DefaultImagePreviewActivity.this.getSupportActionBar();
            if (supportActionBar != null) {
                supportActionBar.show();
            }
            DefaultImagePreviewActivity.this.mControlsView.setVisibility(0);
        }
    };
    private final Runnable mHideRunnable = new Runnable() {
        @Override
        public void run() {
            DefaultImagePreviewActivity.this.hide();
        }
    };
    private final View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            DefaultImagePreviewActivity.this.delayedHide(3000);
            return false;
        }
    };

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_default_image_preview);
        sGlideRequests = GlideApp.with((FragmentActivity) this);
        sWidth = Util.getScreenWidthAndHeight(this)[0];
        this.mVisible = AUTO_HIDE;
        this.mControlsView = findViewById(R.id.fullscreen_content_controls);
        ImageView imageView = (ImageView) findViewById(R.id.default_image_preview);
        this.mContentView = imageView;
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                DefaultImagePreviewActivity.this.toggle();
            }
        });
        findViewById(R.id.default_button_save).setOnTouchListener(this.mDelayHideTouchListener);
        init();
    }

    private void init() {
        SimpleTarget<Bitmap> simpleTarget = new SimpleTarget<Bitmap>() {
            @Override
            public void onResourceReady(Object obj, Transition transition) {
                onResourceReady((Bitmap) obj, (Transition<? super Bitmap>) transition);
            }

            public void onResourceReady(Bitmap bitmap, Transition<? super Bitmap> transition) {
                if (bitmap == null) {
                    return;
                }
                DefaultImagePreviewActivity.this.mContentView.setImageBitmap(Util.scaleBitmapToFitWidth(bitmap, DefaultImagePreviewActivity.sWidth));
            }
        };
        Bundle extras = getIntent().getExtras();
        AreImageSpan.ImageType imageType = (AreImageSpan.ImageType) extras.get("imageType");
        if (imageType == AreImageSpan.ImageType.URI) {
            sGlideRequests.asBitmap().load((Uri) extras.get("uri")).centerCrop().into((GlideRequest<Bitmap>) simpleTarget);
        } else if (imageType == AreImageSpan.ImageType.URL) {
            sGlideRequests.asBitmap().load(extras.getString("url")).centerCrop().into((GlideRequest<Bitmap>) simpleTarget);
        } else if (imageType == AreImageSpan.ImageType.RES) {
            this.mContentView.setImageResource(extras.getInt("resId"));
        }
    }

    @Override
    protected void onPostCreate(Bundle bundle) {
        super.onPostCreate(bundle);
        delayedHide(100);
    }

    public void toggle() {
        if (this.mVisible) {
            hide();
        } else {
            show();
        }
    }

    public void hide() {
        ActionBar supportActionBar = getSupportActionBar();
        if (supportActionBar != null) {
            supportActionBar.hide();
        }
        this.mControlsView.setVisibility(8);
        this.mVisible = false;
        this.mHideHandler.removeCallbacks(this.mShowPart2Runnable);
        this.mHideHandler.postDelayed(this.mHidePart2Runnable, 300L);
    }

    private void show() {
        this.mContentView.setSystemUiVisibility(1536);
        this.mVisible = AUTO_HIDE;
        this.mHideHandler.removeCallbacks(this.mHidePart2Runnable);
        this.mHideHandler.postDelayed(this.mShowPart2Runnable, 300L);
    }

    public void delayedHide(int i) {
        this.mHideHandler.removeCallbacks(this.mHideRunnable);
        this.mHideHandler.postDelayed(this.mHideRunnable, i);
    }
}