正在查看: Mantra Counter v25.01 应用的 GenerateQR.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Mantra Counter v25.01 应用的 GenerateQR.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.sweetedge.mantracounter.group;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.FileProvider;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.journeyapps.barcodescanner.BarcodeEncoder;
import com.sweetedge.mantracounter.Authentication.UserDataPref;
import com.sweetedge.mantracounter.R;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import save_data.Const;
public class GenerateQR extends AppCompatActivity {
ImageView Share;
Bitmap qrBitmap;
TextView qrDescrption;
ImageView qrImageView;
RelativeLayout shareLayout;
public Bitmap generateQRCode(String str, int i) {
try {
return new BarcodeEncoder().createBitmap(new MultiFormatWriter().encode(str, BarcodeFormat.QR_CODE, i, i, null));
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.my_qr);
this.qrImageView = (ImageView) findViewById(R.id.qrImageView);
this.shareLayout = (RelativeLayout) findViewById(R.id.shareQR);
this.Share = (ImageView) findViewById(R.id.share);
String trim = UserDataPref.get(this, Const.GMAIL).trim();
Bitmap generateQRCode = generateQRCode(trim, 500);
this.qrBitmap = generateQRCode;
if (generateQRCode != null) {
this.qrImageView.setImageBitmap(generateQRCode);
} else {
Toast.makeText((Context) this, (CharSequence) "QR Code generation failed", 0).show();
}
TextView textView = (TextView) findViewById(R.id.qrDescrption);
this.qrDescrption = textView;
textView.setText(trim);
this.Share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
GenerateQR generateQR = GenerateQR.this;
generateQR.shareBitmap(generateQR.shareLayout);
}
});
}
private Bitmap getBitmapFromView(View view) {
Bitmap createBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
view.draw(new Canvas(createBitmap));
return createBitmap;
}
public void shareBitmap(View view) {
try {
Bitmap bitmapFromView = getBitmapFromView(view);
File file = new File(getCacheDir(), "shared_view");
file.mkdirs();
File file2 = new File(file, "shared_layout.png");
FileOutputStream fileOutputStream = new FileOutputStream(file2);
bitmapFromView.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
fileOutputStream.close();
Uri uriForFile = FileProvider.getUriForFile(this, getPackageName() + ".fileprovider", file2);
Intent intent = new Intent("android.intent.action.SEND");
intent.setType("image/png");
intent.putExtra("android.intent.extra.STREAM", uriForFile);
intent.addFlags(1);
startActivity(Intent.createChooser(intent, "Share QR Code"));
} catch (IOException e) {
e.printStackTrace();
Toast.makeText((Context) this, (CharSequence) "Failed to share", 0).show();
}
}
}