summaryrefslogtreecommitdiffstats
path: root/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/com/jopek/lectordecodi/MainActivity.java7
-rw-r--r--app/src/main/java/com/jopek/lectordecodi/SharedPreferencesManager.java8
-rw-r--r--app/src/main/java/com/jopek/lectordecodi/ui/barcode_gen/BarcodeGenFragment.java24
-rw-r--r--app/src/main/java/com/jopek/lectordecodi/ui/qrcode_gen/QRCodeGenFragment.java4
-rw-r--r--app/src/main/java/com/jopek/lectordecodi/ui/reader/ReaderFragment.java9
-rw-r--r--app/src/main/java/com/jopek/lectordecodi/ui/settings/SettingsFragment.java97
-rw-r--r--app/src/main/res/layout/app_bar_main.xml2
-rw-r--r--app/src/main/res/layout/fragment_settings.xml59
-rw-r--r--app/src/main/res/values/themes.xml1
9 files changed, 182 insertions, 29 deletions
diff --git a/app/src/main/java/com/jopek/lectordecodi/MainActivity.java b/app/src/main/java/com/jopek/lectordecodi/MainActivity.java
index bb925d3..29e6d94 100644
--- a/app/src/main/java/com/jopek/lectordecodi/MainActivity.java
+++ b/app/src/main/java/com/jopek/lectordecodi/MainActivity.java
@@ -1,9 +1,12 @@
package com.jopek.lectordecodi;
+import android.app.ActionBar;
+import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Menu;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
@@ -37,6 +40,10 @@ public class MainActivity extends AppCompatActivity {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main);
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);
+
+ findViewById(R.id.toolbar).setBackgroundColor(getResources().getColor(SharedPreferencesManager.getColor(this)));
+// Toolbar toolbar = findViewById(R.id.toolbar);
+// toolbar.setBackgroundColor(R.color.black);
}
@Override
diff --git a/app/src/main/java/com/jopek/lectordecodi/SharedPreferencesManager.java b/app/src/main/java/com/jopek/lectordecodi/SharedPreferencesManager.java
index 33e51fb..ce29bfd 100644
--- a/app/src/main/java/com/jopek/lectordecodi/SharedPreferencesManager.java
+++ b/app/src/main/java/com/jopek/lectordecodi/SharedPreferencesManager.java
@@ -41,4 +41,12 @@ public class SharedPreferencesManager {
SharedPreferences prefs = getPrefs(context);
return prefs.edit().putInt("saveHeight", saveHeight).commit();
}
+ public static int getColor(Context context) {
+ int def = R.color.purple_200;
+ return getFromPrefs(context, "color", def);
+ }
+ public static boolean setColor(Context context, int color) {
+ SharedPreferences prefs = getPrefs(context);
+ return prefs.edit().putInt("color", color).commit();
+ }
}
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 f13edee..31bbb1c 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,16 +1,20 @@
package com.jopek.lectordecodi.ui.barcode_gen;
import static com.jopek.lectordecodi.MainActivity.TAG;
+import static com.jopek.lectordecodi.SharedPreferencesManager.getColor;
import static com.jopek.lectordecodi.SharedPreferencesManager.getSaveHeight;
import static com.jopek.lectordecodi.SharedPreferencesManager.getSaveWidth;
import static com.jopek.lectordecodi.SharedPreferencesManager.getWhereSave;
import android.Manifest;
+import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
+import android.graphics.Color;
import android.media.MediaScannerConnection;
import android.os.Bundle;
import android.util.Log;
+import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -25,6 +29,7 @@ import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import com.google.zxing.BarcodeFormat;
+import com.jopek.lectordecodi.R;
import com.jopek.lectordecodi.databinding.FragmentBarcodeGenBinding;
import com.journeyapps.barcodescanner.BarcodeEncoder;
@@ -51,13 +56,16 @@ public class BarcodeGenFragment extends Fragment {
btnGen = binding.btnGenBarcode;
btnSave = binding.btnSaveBarcode;
+ binding.btnGenBarcode.setBackgroundColor(getResources().getColor(getColor(getActivity())));
+ binding.btnSaveBarcode.setBackgroundColor(getResources().getColor(getColor(getActivity())));
+
btnGen.setOnClickListener(v -> {
try {
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
code = barcodeEncoder.encodeBitmap(String.valueOf(etInput.getText()), BarcodeFormat.CODE_128, getSaveWidth(getActivity()), getSaveHeight(getActivity()));
img.setImageBitmap(code);
} catch (Exception e) {
- Log.d(TAG, "onCreateView: ", e);
+ e.printStackTrace();
}
});
btnSave.setOnClickListener(v -> {
@@ -70,10 +78,22 @@ public class BarcodeGenFragment extends Fragment {
return root;
}
-
+// @Override
+// public LayoutInflater onGetLayoutInflater(Bundle savedInstanceState) {
+// LayoutInflater inflater = super.onGetLayoutInflater(savedInstanceState);
+// Context contextThemeWrapper = new ContextThemeWrapper(requireContext(), R.style.Theme_LectorDeCodi2);
+// return inflater.cloneInContext(contextThemeWrapper);
+// }
+// @Override
+// public void onAttach(@NonNull Context context) {
+// context.setTheme(R.style.Theme_LectorDeCodi2);
+// super.onAttach(context);
+// }
private void saveBitmap() {
//MediaStore.Images.Media.insertImage(getActivity().getContentResolver(), code, "UwU" , "OwO");
+ Log.d(TAG, "saveBitmap: setting style");
File myDir = new File(getWhereSave(getActivity()));
+ Log.d(TAG, "saveBitmap: style set");
Log.d(TAG, "onCreateView: " + myDir.getAbsolutePath());
myDir.mkdir();
Random generator = new Random();
diff --git a/app/src/main/java/com/jopek/lectordecodi/ui/qrcode_gen/QRCodeGenFragment.java b/app/src/main/java/com/jopek/lectordecodi/ui/qrcode_gen/QRCodeGenFragment.java
index b2d7e6c..99c1bee 100644
--- a/app/src/main/java/com/jopek/lectordecodi/ui/qrcode_gen/QRCodeGenFragment.java
+++ b/app/src/main/java/com/jopek/lectordecodi/ui/qrcode_gen/QRCodeGenFragment.java
@@ -1,6 +1,7 @@
package com.jopek.lectordecodi.ui.qrcode_gen;
import static com.jopek.lectordecodi.MainActivity.TAG;
+import static com.jopek.lectordecodi.SharedPreferencesManager.getColor;
import static com.jopek.lectordecodi.SharedPreferencesManager.getSaveHeight;
import static com.jopek.lectordecodi.SharedPreferencesManager.getSaveWidth;
import static com.jopek.lectordecodi.SharedPreferencesManager.getWhereSave;
@@ -53,6 +54,9 @@ public class QRCodeGenFragment extends Fragment {
btnGen = binding.btnGenBarcode;
btnSave = binding.btnSaveBarcode;
+ binding.btnGenBarcode.setBackgroundColor(getResources().getColor(getColor(getActivity())));
+ binding.btnSaveBarcode.setBackgroundColor(getResources().getColor(getColor(getActivity())));
+
btnGen.setOnClickListener(v -> {
try {
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
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 87d9615..507487c 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,5 +1,7 @@
package com.jopek.lectordecodi.ui.reader;
+import static com.jopek.lectordecodi.SharedPreferencesManager.getColor;
+
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
@@ -22,8 +24,8 @@ import com.journeyapps.barcodescanner.ScanOptions;
public class ReaderFragment extends Fragment {
- private FragmentReaderBinding binding;
private final String TAG = "maks";
+ private FragmentReaderBinding binding;
private TextView tvRead;
private Button bStartRead;
private Button bCopyCode;
@@ -32,7 +34,7 @@ public class ReaderFragment extends Fragment {
// Register the launcher and result handler
private final ActivityResultLauncher<ScanOptions> barcodeLauncher = registerForActivityResult(new ScanContract(),
result -> {
- if(result.getContents() == null) {
+ if (result.getContents() == null) {
tvRead.setText("Reading code failed");
} else {
readCode = result.getContents();
@@ -52,6 +54,9 @@ public class ReaderFragment extends Fragment {
bStartRead = root.findViewById(R.id.start_read);
bCopyCode = root.findViewById(R.id.copy_read_from_code);
+ binding.startRead.setBackgroundColor(getResources().getColor(getColor(getActivity())));
+ binding.copyReadFromCode.setBackgroundColor(getResources().getColor(getColor(getActivity())));
+
bStartRead.setOnClickListener(view -> {
ScanOptions options = new ScanOptions();
options.setDesiredBarcodeFormats(ScanOptions.ALL_CODE_TYPES);
diff --git a/app/src/main/java/com/jopek/lectordecodi/ui/settings/SettingsFragment.java b/app/src/main/java/com/jopek/lectordecodi/ui/settings/SettingsFragment.java
index 0f68cf5..0c1b7d9 100644
--- a/app/src/main/java/com/jopek/lectordecodi/ui/settings/SettingsFragment.java
+++ b/app/src/main/java/com/jopek/lectordecodi/ui/settings/SettingsFragment.java
@@ -1,28 +1,29 @@
package com.jopek.lectordecodi.ui.settings;
+import static com.jopek.lectordecodi.SharedPreferencesManager.getColor;
+import static com.jopek.lectordecodi.SharedPreferencesManager.getSaveHeight;
+import static com.jopek.lectordecodi.SharedPreferencesManager.getSaveWidth;
import static com.jopek.lectordecodi.SharedPreferencesManager.getWhereSave;
+import static com.jopek.lectordecodi.SharedPreferencesManager.setColor;
+import static com.jopek.lectordecodi.SharedPreferencesManager.setSaveHeight;
+import static com.jopek.lectordecodi.SharedPreferencesManager.setSaveWidth;
+import static com.jopek.lectordecodi.SharedPreferencesManager.setWhereSave;
-import androidx.lifecycle.ViewModelProvider;
-
-import android.content.Context;
-import android.content.SharedPreferences;
import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
-
-import android.os.Environment;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
+import androidx.lifecycle.ViewModelProvider;
import com.jopek.lectordecodi.R;
-import com.jopek.lectordecodi.databinding.FragmentReaderBinding;
import com.jopek.lectordecodi.databinding.FragmentSettingsBinding;
-import java.io.File;
-
public class SettingsFragment extends Fragment {
private SettingsViewModel mViewModel;
@@ -39,11 +40,83 @@ public class SettingsFragment extends Fragment {
binding = FragmentSettingsBinding.inflate(inflater, container, false);
View root = binding.getRoot();
+ addListenersForEditText();
binding.etWhereSave.setText(getWhereSave(getActivity()));
+ binding.etSaveWidth.setText(String.valueOf(getSaveWidth(getActivity())));
+ binding.etSaveHeight.setText(String.valueOf(getSaveHeight(getActivity())));
+
+ if (getColor(getActivity()) == R.color.teal_700)
+ binding.radioGroup.check(R.id.radio_teal);
+ else
+ binding.radioGroup.check(R.id.radio_purple);
+
+
+// @style/Theme.LectorDeCodi.AppBarOverlay
return root;
}
+ private void addListenersForEditText() {
+ binding.etWhereSave.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ setWhereSave(getContext(), String.valueOf(editable));
+ }
+ });
+
+ binding.etSaveWidth.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ if (editable.length() == 0)
+ setSaveWidth(getContext(), 0);
+ else
+ setSaveWidth(getContext(), Integer.parseInt(editable.toString()));
+ }
+ });
+ binding.etSaveHeight.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+ }
+
+ @Override
+ public void afterTextChanged(Editable editable) {
+ if (editable.length() == 0)
+ setSaveHeight(getContext(), 0);
+ else
+ setSaveHeight(getContext(), Integer.parseInt(editable.toString()));
+ }
+ });
+ binding.radioGroup.setOnCheckedChangeListener((group, checkedId) -> {
+ if (checkedId == R.id.radio_teal) {
+ getActivity().findViewById(R.id.toolbar).setBackgroundColor(getResources().getColor(R.color.teal_700));
+ setColor(getActivity(), R.color.teal_700);
+ } else {
+ getActivity().findViewById(R.id.toolbar).setBackgroundColor(getResources().getColor(R.color.purple_200));
+ setColor(getActivity(), R.color.purple_200);
+ }
+ });
+ }
+
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml
index 53849bc..498962d 100644
--- a/app/src/main/res/layout/app_bar_main.xml
+++ b/app/src/main/res/layout/app_bar_main.xml
@@ -7,10 +7,12 @@
tools:context=".MainActivity">
<com.google.android.material.appbar.AppBarLayout
+ android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.LectorDeCodi.AppBarOverlay">
+<!-- <androidx.appcompat.widget.Toolbar-->
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index ac387fb..ad696a7 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -9,47 +9,82 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
+
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="Where to save pictures?"
- android:textAlignment="center"
android:layout_marginTop="40dp"
android:gravity="center"
+ android:text="Where to save pictures?"
+ android:textAlignment="center"
android:textSize="20sp" />
+
<EditText
android:id="@+id/et_where_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="text"
- android:layout_marginTop="10dp" />
+ android:layout_marginTop="10dp"
+ android:inputType="text" />
+
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="Width of saved image"
- android:textAlignment="center"
android:layout_marginTop="40dp"
android:gravity="center"
+ android:text="Width of saved image"
+ android:textAlignment="center"
android:textSize="20sp" />
+
<EditText
android:id="@+id/et_save_width"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="numberDecimal"
- android:layout_marginTop="10dp" />
+ android:layout_marginTop="10dp"
+ android:inputType="numberDecimal" />
+
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="Height of saved image"
- android:textAlignment="center"
android:layout_marginTop="40dp"
android:gravity="center"
+ android:text="Height of saved image"
+ android:textAlignment="center"
android:textSize="20sp" />
+
<EditText
android:id="@+id/et_save_height"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="numberDecimal"
- android:layout_marginTop="10dp" />
+ android:layout_marginTop="10dp"
+ android:inputType="numberDecimal" />
+
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="40dp"
+ android:gravity="center"
+ android:text="Color of app"
+ android:textAlignment="center"
+ android:textSize="20sp" />
+ <RadioGroup
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:layout_marginTop="10dp"
+ android:id="@+id/radio_group"
+ android:orientation="vertical">
+
+ <RadioButton
+ android:id="@+id/radio_purple"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Purple" />
+
+ <RadioButton
+ android:id="@+id/radio_teal"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Teal" />
+ </RadioGroup>
</LinearLayout>
</FrameLayout> \ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 26c20e9..f17385f 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -13,7 +13,6 @@
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
-
<style name="Theme.LectorDeCodi.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>