导航菜单

页面标题

页面副标题

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

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

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


package com.mlsdev.rximagepicker;

import android.app.Activity;
import android.content.ClipData;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;

public class HiddenActivity extends Activity {
    public static final String ALLOW_MULTIPLE_IMAGES = "allow_multiple_images";
    public static final String IMAGE_SOURCE = "image_source";
    private static final String KEY_CAMERA_PICTURE_URL = "cameraPictureUrl";
    private static final int SELECT_PHOTO = 100;
    private static final int TAKE_PHOTO = 101;
    private Uri cameraPictureUrl;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        if (bundle == null) {
            handleIntent(getIntent());
        }
    }

    @Override
    protected void onSaveInstanceState(Bundle bundle) {
        bundle.putParcelable(KEY_CAMERA_PICTURE_URL, this.cameraPictureUrl);
        super.onSaveInstanceState(bundle);
    }

    @Override
    protected void onRestoreInstanceState(Bundle bundle) {
        super.onRestoreInstanceState(bundle);
        this.cameraPictureUrl = (Uri) bundle.getParcelable(KEY_CAMERA_PICTURE_URL);
    }

    @Override
    protected void onNewIntent(Intent intent) {
        handleIntent(intent);
    }

    @Override
    public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
        if (iArr.length > 0 && iArr[0] == 0) {
            handleIntent(getIntent());
        } else {
            finish();
        }
    }

    @Override
    protected void onActivityResult(int i, int i2, Intent intent) {
        if (i2 == -1) {
            if (i == 100) {
                handleGalleryResult(intent);
            } else if (i == 101) {
                RxImagePicker.with(this).onImagePicked(this.cameraPictureUrl);
            }
        }
        finish();
    }

    private void handleGalleryResult(Intent intent) {
        if (getIntent().getBooleanExtra(ALLOW_MULTIPLE_IMAGES, false)) {
            ArrayList arrayList = new ArrayList();
            ClipData clipData = intent.getClipData();
            if (clipData != null) {
                for (int i = 0; i < clipData.getItemCount(); i++) {
                    arrayList.add(clipData.getItemAt(i).getUri());
                }
            } else {
                arrayList.add(intent.getData());
            }
            RxImagePicker.with(this).onImagesPicked(arrayList);
            return;
        }
        RxImagePicker.with(this).onImagePicked(intent.getData());
    }

    private void handleIntent(Intent intent) {
        Intent intent2;
        if (checkPermission()) {
            int i = 0;
            int i2 = AnonymousClass1.$SwitchMap$com$mlsdev$rximagepicker$Sources[Sources.values()[intent.getIntExtra(IMAGE_SOURCE, 0)].ordinal()];
            if (i2 == 1) {
                this.cameraPictureUrl = createImageUri();
                intent2 = new Intent("android.media.action.IMAGE_CAPTURE");
                intent2.putExtra("output", this.cameraPictureUrl);
                i = 101;
            } else if (i2 != 2) {
                intent2 = null;
            } else {
                intent2 = new Intent("android.intent.action.OPEN_DOCUMENT");
                intent2.putExtra("android.intent.extra.ALLOW_MULTIPLE", getIntent().getBooleanExtra(ALLOW_MULTIPLE_IMAGES, false));
                intent2.addFlags(64);
                intent2.putExtra("android.intent.extra.LOCAL_ONLY", true);
                intent2.addFlags(1);
                intent2.setType("image/*");
                i = 100;
            }
            startActivityForResult(intent2, i);
        }
    }

    static class AnonymousClass1 {
        static final int[] $SwitchMap$com$mlsdev$rximagepicker$Sources;

        static {
            int[] iArr = new int[Sources.values().length];
            $SwitchMap$com$mlsdev$rximagepicker$Sources = iArr;
            try {
                iArr[Sources.CAMERA.ordinal()] = 1;
            } catch (NoSuchFieldError unused) {
            }
            try {
                $SwitchMap$com$mlsdev$rximagepicker$Sources[Sources.GALLERY.ordinal()] = 2;
            } catch (NoSuchFieldError unused2) {
            }
        }
    }

    private boolean checkPermission() {
        if (ContextCompat.checkSelfPermission(this, "android.permission.WRITE_EXTERNAL_STORAGE") == 0) {
            return true;
        }
        ActivityCompat.requestPermissions(this, new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 0);
        return false;
    }

    private Uri createImageUri() {
        ContentResolver contentResolver = getContentResolver();
        ContentValues contentValues = new ContentValues();
        contentValues.put("title", new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date()));
        return contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
    }
}