diff options
Diffstat (limited to 'app/src/main/java')
6 files changed, 133 insertions, 16 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); |
