summaryrefslogtreecommitdiffstats
path: root/app/src
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
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')
-rw-r--r--app/src/main/AndroidManifest.xml5
-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
-rw-r--r--app/src/main/res/layout/fragment_barcode_gen.xml36
-rw-r--r--app/src/main/res/layout/fragment_reader.xml33
6 files changed, 130 insertions, 24 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index deb8751..56d55cb 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -11,6 +11,7 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.LectorDeCodi"
+ android:hardwareAccelerated="true"
tools:targetApi="31">
<activity
android:name=".MainActivity"
@@ -23,6 +24,10 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
+ <activity
+ android:name="com.journeyapps.barcodescanner.CaptureActivity"
+ android:screenOrientation="fullSensor"
+ tools:replace="screenOrientation" />
</application>
</manifest> \ No newline at end of file
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;
}
diff --git a/app/src/main/res/layout/fragment_barcode_gen.xml b/app/src/main/res/layout/fragment_barcode_gen.xml
index 8c9c474..caec265 100644
--- a/app/src/main/res/layout/fragment_barcode_gen.xml
+++ b/app/src/main/res/layout/fragment_barcode_gen.xml
@@ -7,9 +7,43 @@
tools:context=".ui.barcode_gen.BarcodeGenFragment">
<TextView
- android:id="@+id/text_gallery"
+ android:id="@id/plain_text_input_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:text="Gimme text to encode in barcode"
+ android:textAlignment="center"
+ android:layout_marginTop="40dp"
+ android:textSize="20sp"
+ app:layout_constraintStart_toEndOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+ <EditText
+ android:labelFor="@+id/plain_text_input_label"
+ android:id="@+id/plain_text_input"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="text"
+ android:layout_marginTop="80dp"
+ app:layout_constraintStart_toEndOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+ <Button
+ android:id="@+id/btn_gen_barcode"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Generate Barcode"
+ android:layout_marginTop="160dp"
+ app:layout_constraintStart_toEndOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <ImageView
+ android:id="@+id/barcode_img"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
diff --git a/app/src/main/res/layout/fragment_reader.xml b/app/src/main/res/layout/fragment_reader.xml
index 7b27f13..7a0c900 100644
--- a/app/src/main/res/layout/fragment_reader.xml
+++ b/app/src/main/res/layout/fragment_reader.xml
@@ -6,27 +6,38 @@
android:layout_height="match_parent"
tools:context=".ui.reader.ReaderFragment">
- <TextView
- android:id="@+id/text_home2"
- android:layout_width="match_parent"
+ <Button
+ android:id="@+id/start_read"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginStart="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginEnd="8dp"
+ android:layout_marginTop="80dp"
+ app:layout_constraintStart_toEndOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- android:textAlignment="center"
- android:textSize="20sp" />
+ android:text="Scan QbaRCode"/>
<TextView
- android:id="@+id/text_home"
+ android:id="@+id/read_from_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
- android:textSize="20sp"
+ android:textSize="40sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toTopOf="parent"
+ />
+ <Button
+ android:id="@+id/copy_read_from_code"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="80dp"
+ app:layout_constraintStart_toEndOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:text="Copy"/>
</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file