正在查看: St.John's v1.0.9 应用的 GalleryAlbumImagesActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: St.John's v1.0.9 应用的 GalleryAlbumImagesActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.mcb.stjohnsemschool.activity;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ListAdapter;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import com.mcb.stjohnsemschool.adapter.ImagesAdapter;
import com.mcb.stjohnsemschool.model.BucketEntry;
import com.mcb.stjohnsemschool.utils.Constants;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
public class GalleryAlbumImagesActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
private static final String TAG = "com.mcb.stjohnsemschool.activity.GalleryAlbumImagesActivity";
public static Activity mActivityObj;
private ImagesAdapter adapter;
private boolean allowMultiple;
private String bucketId;
private String bucketName;
private ArrayList<BucketEntry> entryList;
private GridView gridView;
private int maxCount = 0;
private ArrayList<String> selectedItems;
private MenuItem sendOkItem;
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.grid_gallery_more_images);
this.bucketName = getIntent().getStringExtra("BUCKET_NAME");
this.bucketId = getIntent().getStringExtra("BUCKET_ID");
GridView gridView = (GridView) findViewById(2131362588);
this.gridView = gridView;
gridView.setOnItemClickListener(this);
mActivityObj = this;
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Tap Picture to Select");
this.selectedItems = new ArrayList<>();
this.selectedItems = getIntent().getExtras().getStringArrayList("AlreadySelectedFilePaths");
boolean booleanExtra = getIntent().getBooleanExtra("ALLOW_MULTIPLE", false);
this.allowMultiple = booleanExtra;
this.maxCount = 1;
if (booleanExtra) {
this.maxCount = 5;
}
getGalleryImages();
setSelectedFileCount();
}
private void getGalleryImages() {
Cursor query = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, "bucket_id = " + this.bucketId, null, "datetaken DESC");
this.entryList = new ArrayList<>();
if (query.moveToFirst()) {
int columnIndex = query.getColumnIndex("_data");
do {
BucketEntry bucketEntry = new BucketEntry();
String string = query.getString(columnIndex);
bucketEntry.setImagePath(string);
Iterator<String> it = this.selectedItems.iterator();
while (true) {
if (!it.hasNext()) {
break;
} else if (it.next().equalsIgnoreCase(string)) {
bucketEntry.setSelected(true);
break;
}
}
this.entryList.add(bucketEntry);
} while (query.moveToNext());
}
query.close();
ListAdapter imagesAdapter = new ImagesAdapter(getApplicationContext(), this.entryList);
this.adapter = imagesAdapter;
this.gridView.setAdapter(imagesAdapter);
}
private void setSelectedFileCount() {
ArrayList<String> arrayList = this.selectedItems;
if (arrayList != null && arrayList.size() >= 1) {
getSupportActionBar().setTitle(this.selectedItems.size() + " Selected");
MenuItem menuItem = this.sendOkItem;
if (menuItem != null) {
menuItem.setVisible(true);
return;
}
return;
}
getSupportActionBar().setTitle("Tap Picture to Select");
MenuItem menuItem2 = this.sendOkItem;
if (menuItem2 != null) {
menuItem2.setVisible(false);
}
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
String str;
View findViewById = view.findViewById(R.id.tick_mark_layout);
if (this.entryList.get(i).isSelected()) {
findViewById.setVisibility(8);
this.entryList.get(i).setSelected(false);
findViewById.setPadding(0, 0, 0, 0);
this.selectedItems.remove(this.entryList.get(i).getImagePath());
} else if (this.selectedItems.size() < this.maxCount) {
String imagePath = this.entryList.get(i).getImagePath();
int parseInt = Integer.parseInt(String.valueOf(new File(Constants.getPath(this, Uri.parse(imagePath))).length() / 1024));
if (parseInt > 10240 || getOverAllFileSize(parseInt) > 51200) {
if (!this.allowMultiple) {
str = "File size should not exceed 10 MB";
} else {
str = "Each file size should not exceed 10 MB and Over all files size should not exceed 50 MB";
}
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Error");
builder.setMessage(str).setCancelable(false).setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i2) {
dialogInterface.dismiss();
}
});
builder.create().show();
} else {
findViewById.setVisibility(0);
this.entryList.get(i).setSelected(true);
findViewById.setPadding(80, 80, 80, 80);
this.selectedItems.add(imagePath);
}
} else {
AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
builder2.setTitle("Error");
builder2.setMessage("You can't select more than " + this.maxCount + " files").setCancelable(false).setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i2) {
dialogInterface.dismiss();
}
});
builder2.create().show();
}
setSelectedFileCount();
}
private long getOverAllFileSize(int i) {
long j = i;
while (this.selectedItems.iterator().hasNext()) {
j += Integer.parseInt(String.valueOf(new File(r7.next()).length() / 1024));
}
return j;
}
public boolean onOptionsItemSelected(MenuItem menuItem) {
int itemId = menuItem.getItemId();
if (itemId == 16908332) {
onBackPressed();
return true;
}
if (itemId == 2131363594) {
if (this.selectedItems.size() > 0) {
Intent intent = new Intent();
intent.putStringArrayListExtra("FilePaths", this.selectedItems);
setResult(100, intent);
finish();
} else {
Toast.makeText(getApplicationContext(), "Add at least one photo", 1).show();
}
return true;
}
return super.onOptionsItemSelected(menuItem);
}
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.send_ok, menu);
if (menu != null) {
MenuItem findItem = menu.findItem(R.id.send_ok);
this.sendOkItem = findItem;
if (findItem != null && this.selectedItems.size() >= 1) {
this.sendOkItem.setVisible(true);
} else {
this.sendOkItem.setVisible(false);
}
}
return true;
}
public void onBackPressed() {
super.onBackPressed();
}
}