正在查看: St.John's v1.0.9 应用的 DefaultImagePreviewActivity.java JAVA 源代码文件
本页面展示 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);
}
}