summaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/jopek
diff options
context:
space:
mode:
authorMaksymilian Jopek <maks@jopek.eu>2022-09-22 15:41:11 +0200
committerMaksymilian Jopek <maks@jopek.eu>2022-09-22 15:41:11 +0200
commit36703c46b11a2300cdbba219628fc63be5bde7c3 (patch)
tree4faba605b2284c8e1cfb263a5f464935c1201fd0 /app/src/main/java/com/jopek
parent7a012fedd21a03a26bb40fdf8a91315b6c512ec9 (diff)
downloadlector-de-codi-36703c46b11a2300cdbba219628fc63be5bde7c3.tar.gz
lector-de-codi-36703c46b11a2300cdbba219628fc63be5bde7c3.tar.zst
lector-de-codi-36703c46b11a2300cdbba219628fc63be5bde7c3.zip
Scanning and start gen
Diffstat (limited to 'app/src/main/java/com/jopek')
-rw-r--r--app/src/main/java/com/jopek/lectordecodi/MainActivity.java7
-rw-r--r--app/src/main/java/com/jopek/lectordecodi/ui/barcode_gen/BarcodeGenFragment.java27
-rw-r--r--app/src/main/java/com/jopek/lectordecodi/ui/reader/ReaderFragment.java46
3 files changed, 68 insertions, 12 deletions
diff --git a/app/src/main/java/com/jopek/lectordecodi/MainActivity.java b/app/src/main/java/com/jopek/lectordecodi/MainActivity.java
index f40a08f..95cfb87 100644
--- a/app/src/main/java/com/jopek/lectordecodi/MainActivity.java
+++ b/app/src/main/java/com/jopek/lectordecodi/MainActivity.java
@@ -29,13 +29,6 @@ public class MainActivity extends AppCompatActivity {
setContentView(binding.getRoot());
setSupportActionBar(binding.appBarMain.toolbar);
- //binding.appBarMain.fab.setOnClickListener(new View.OnClickListener() {
- // @Override
- // public void onClick(View view) {
- // Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
- // .setAction("Action", null).show();
- // }
- //});
DrawerLayout drawer = binding.drawerLayout;
NavigationView navigationView = binding.navView;
// Passing each menu ID as a set of Ids because each
diff --git a/app/src/main/java/com/jopek/lectordecodi/ui/barcode_gen/BarcodeGenFragment.java b/app/src/main/java/com/jopek/lectordecodi/ui/barcode_gen/BarcodeGenFragment.java
index e087d5e..7ccda24 100644
--- a/app/src/main/java/com/jopek/lectordecodi/ui/barcode_gen/BarcodeGenFragment.java
+++ b/app/src/main/java/com/jopek/lectordecodi/ui/barcode_gen/BarcodeGenFragment.java
@@ -1,20 +1,30 @@
package com.jopek.lectordecodi.ui.barcode_gen;
+import android.graphics.Bitmap;
import android.os.Bundle;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
+import com.google.zxing.BarcodeFormat;
import com.jopek.lectordecodi.databinding.FragmentBarcodeGenBinding;
+import com.journeyapps.barcodescanner.BarcodeEncoder;
public class BarcodeGenFragment extends Fragment {
private FragmentBarcodeGenBinding binding;
+ private EditText etInput;
+ private ImageView img;
+ private Button btnGen;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
@@ -24,8 +34,21 @@ public class BarcodeGenFragment extends Fragment {
binding = FragmentBarcodeGenBinding.inflate(inflater, container, false);
View root = binding.getRoot();
- final TextView textView = binding.textGallery;
- barcodeGenViewModel.getText().observe(getViewLifecycleOwner(), textView::setText);
+ etInput = binding.plainTextInput;
+ img = binding.barcodeImg;
+ btnGen = binding.btnGenBarcode;
+
+ btnGen.setOnClickListener(v -> {
+ try {
+ BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
+ Bitmap bitmap = barcodeEncoder.encodeBitmap(String.valueOf(etInput.getText()), BarcodeFormat.EAN_13, 400, 400);
+ Log.d("maks", "onCreateView: " + bitmap);
+ img.setImageBitmap(bitmap);
+ } catch(Exception e) {
+
+ }
+ });
+
return root;
}
diff --git a/app/src/main/java/com/jopek/lectordecodi/ui/reader/ReaderFragment.java b/app/src/main/java/com/jopek/lectordecodi/ui/reader/ReaderFragment.java
index c0a7237..87d9615 100644
--- a/app/src/main/java/com/jopek/lectordecodi/ui/reader/ReaderFragment.java
+++ b/app/src/main/java/com/jopek/lectordecodi/ui/reader/ReaderFragment.java
@@ -1,20 +1,44 @@
package com.jopek.lectordecodi.ui.reader;
+import android.content.ClipData;
+import android.content.ClipboardManager;
+import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
import android.widget.TextView;
+import androidx.activity.result.ActivityResultLauncher;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
+import com.jopek.lectordecodi.R;
import com.jopek.lectordecodi.databinding.FragmentReaderBinding;
+import com.journeyapps.barcodescanner.ScanContract;
+import com.journeyapps.barcodescanner.ScanOptions;
public class ReaderFragment extends Fragment {
private FragmentReaderBinding binding;
+ private final String TAG = "maks";
+ private TextView tvRead;
+ private Button bStartRead;
+ private Button bCopyCode;
+ private String readCode = "";
+
+ // Register the launcher and result handler
+ private final ActivityResultLauncher<ScanOptions> barcodeLauncher = registerForActivityResult(new ScanContract(),
+ result -> {
+ if(result.getContents() == null) {
+ tvRead.setText("Reading code failed");
+ } else {
+ readCode = result.getContents();
+ tvRead.setText("Readed: " + readCode);
+ }
+ });
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
@@ -24,9 +48,25 @@ public class ReaderFragment extends Fragment {
binding = FragmentReaderBinding.inflate(inflater, container, false);
View root = binding.getRoot();
- binding.textHome2.setText("Tescik Home2");
- final TextView textView = binding.textHome;
- readerViewModel.getText().observe(getViewLifecycleOwner(), textView::setText);
+ tvRead = root.findViewById(R.id.read_from_code);
+ bStartRead = root.findViewById(R.id.start_read);
+ bCopyCode = root.findViewById(R.id.copy_read_from_code);
+
+ bStartRead.setOnClickListener(view -> {
+ ScanOptions options = new ScanOptions();
+ options.setDesiredBarcodeFormats(ScanOptions.ALL_CODE_TYPES);
+ options.setPrompt("Scan a QbaRCode");
+ options.setCameraId(0); // Use a specific camera of the device
+ options.setBeepEnabled(false);
+ options.setBarcodeImageEnabled(true);
+ options.setOrientationLocked(false);
+ barcodeLauncher.launch(options);
+ });
+ bCopyCode.setOnClickListener(view -> {
+ ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
+ ClipData clip = ClipData.newPlainText("label", readCode);
+ clipboard.setPrimaryClip(clip);
+ });
return root;
}