Skip to content

Commit

Permalink
Fixed issue with flash
Browse files Browse the repository at this point in the history
  • Loading branch information
Konrad Krakowiak committed Aug 3, 2017
1 parent 33efcac commit 420f49c
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 27 deletions.
18 changes: 18 additions & 0 deletions app/src/main/java/pl/pola_app/ui/activity/MainActivity.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package pl.pola_app.ui.activity;

import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.ActivityNotFoundException;
Expand All @@ -8,6 +9,7 @@
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView;
Expand All @@ -16,6 +18,7 @@
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

import com.facebook.device.yearclass.YearClass;
Expand All @@ -37,6 +40,7 @@
import pl.pola_app.ui.adapter.ProductList;
import pl.pola_app.ui.adapter.ProductsAdapter;
import pl.pola_app.ui.delegate.ProductDetailsFragmentDelegate;
import pl.pola_app.ui.event.FlashActionListener;
import pl.pola_app.ui.fragment.BarcodeListener;
import pl.pola_app.ui.fragment.HelpMessageDialog;
import pl.pola_app.ui.fragment.KeyboardFragment;
Expand Down Expand Up @@ -106,6 +110,20 @@ public void onBackStackChanged() {
});
}

@OnClick(R.id.flash_icon)
public void onFlashIconClicked(View view) {
Fragment fragment = getFragmentManager().findFragmentById(R.id.scanner_fragment);
if(fragment != null && fragment instanceof FlashActionListener) {
final FlashActionListener flashActionListener = (FlashActionListener) fragment;
flashActionListener.onFlashAction();
if(view != null && view instanceof ImageView) {
((ImageView) view).setImageDrawable(ContextCompat.getDrawable(this,
flashActionListener.isTorchOn() ? R.drawable.ic_flash_off_white_48dp : R.drawable.ic_flash_on_white_48dp));
}
}


}
private void setupActionBar() {
setSupportActionBar(toolbar);
setTitle(getString(R.string.app_name));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package pl.pola_app.ui.event;


public interface FlashActionListener {
void onFlashAction();

boolean isTorchOn();
}
21 changes: 10 additions & 11 deletions app/src/main/java/pl/pola_app/ui/fragment/ScannerFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,19 @@
import pl.pola_app.PolaApplication;
import pl.pola_app.R;
import pl.pola_app.ui.delegate.ScannerFragmentDelegate;
import pl.pola_app.ui.event.FlashActionListener;
import pl.tajchert.nammu.Nammu;
import pl.tajchert.nammu.PermissionCallback;
import timber.log.Timber;

public class ScannerFragment extends Fragment implements CompoundBarcodeView.TorchListener {
public class ScannerFragment extends Fragment implements CompoundBarcodeView.TorchListener, FlashActionListener {

@Inject
Bus eventBus;

@Bind(R.id.scanner_view)
CompoundBarcodeView barcodeScanner;//ZXING this or mPreview should be used
@Bind(R.id.flash_icon)
ImageView flashIconView;


private boolean isTorchOn = false;

Expand Down Expand Up @@ -167,8 +167,13 @@ private void onBarcode(String barcode) {
}
}

@OnClick(R.id.flash_icon)
public void onFlashIconClicked() {
@Override
public boolean isTorchOn() {
return isTorchOn;
}

@Override
public void onFlashAction() {
if(isTorchOn) {
barcodeScanner.setTorchOff();
} else {
Expand All @@ -179,17 +184,11 @@ public void onFlashIconClicked() {
@Override
public void onTorchOn() {
isTorchOn = true;
if(flashIconView != null) {
flashIconView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.ic_flash_off_white_48dp));
}
}

@Override
public void onTorchOff() {
isTorchOn = false;
if(flashIconView != null) {
flashIconView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.ic_flash_on_white_48dp));
}
}

public void setTorchOff() {
Expand Down
24 changes: 17 additions & 7 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,6 @@
android:layout_height="match_parent"
android:orientation="vertical">


<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@android:color/transparent"/>

<fragment
android:id="@+id/scanner_fragment"
android:name="pl.pola_app.ui.fragment.ScannerFragment"
Expand All @@ -23,6 +16,23 @@
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@android:color/transparent">


<ImageView
android:id="@+id/flash_icon"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center"
android:layout_margin="14dp"
android:scaleType="fitXY"
android:src="@drawable/ic_flash_on_white_48dp" />
</android.support.v7.widget.Toolbar>

<android.support.v7.widget.RecyclerView
android:id="@+id/products_list"
android:layout_width="match_parent"
Expand Down
9 changes: 0 additions & 9 deletions app/src/main/res/layout/fragment_scanner.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,4 @@
android:scaleType="fitXY"
android:src="@mipmap/ic_launcher_white" />

<ImageView
android:id="@+id/flash_icon"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:layout_margin="14dp"
android:scaleType="fitXY"
android:src="@drawable/ic_flash_on_white_48dp" />
</RelativeLayout>

0 comments on commit 420f49c

Please sign in to comment.