Add javadoc, rename FindUserThread -> NetworkThread, introduce AbstractScannerActivity.handleBarcode, refs #9991
This commit is contained in:
@@ -29,9 +29,11 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
debug {
|
||||||
|
debuggable true
|
||||||
|
signingConfig signingConfigs.debug
|
||||||
|
}
|
||||||
release {
|
release {
|
||||||
// TODO: Add your own signing config for the release build.
|
|
||||||
// Signing with the debug keys for now, so `flutter run --release` works.
|
|
||||||
signingConfig signingConfigs.debug
|
signingConfig signingConfigs.debug
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import android.view.MenuItem;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.dinect.net.ApiClient;
|
import com.dinect.net.ApiClient;
|
||||||
|
|
||||||
@@ -47,12 +48,12 @@ public abstract class AbstractScannerActivity extends AppCompatActivity {
|
|||||||
static final String TAG = "C.ScannerActivity";
|
static final String TAG = "C.ScannerActivity";
|
||||||
|
|
||||||
protected ApiClient apiClient;
|
protected ApiClient apiClient;
|
||||||
protected FindUserThread findUserThread;
|
protected NetworkThread networkThread;
|
||||||
|
|
||||||
LogoutDialogFragment logoutDialog;
|
LogoutDialogFragment logoutDialog;
|
||||||
|
|
||||||
boolean isCameraAvailable() {
|
boolean isCameraAvailable() {
|
||||||
Log.d(TAG, "isCamerAvailable");
|
Log.d(TAG, "isCameraAvailable");
|
||||||
PackageManager pm = getPackageManager();
|
PackageManager pm = getPackageManager();
|
||||||
return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA);
|
return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA);
|
||||||
}
|
}
|
||||||
@@ -64,6 +65,12 @@ public abstract class AbstractScannerActivity extends AppCompatActivity {
|
|||||||
setResult(RESULT_CANCELED, response);
|
setResult(RESULT_CANCELED, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* initialize activity
|
||||||
|
* - removes windows title
|
||||||
|
* - set content view to layout id
|
||||||
|
* @param layoutID layout to use
|
||||||
|
* */
|
||||||
protected final boolean init(final int layoutID) {
|
protected final boolean init(final int layoutID) {
|
||||||
Log.d(TAG, "init");
|
Log.d(TAG, "init");
|
||||||
if (!isCameraAvailable()) {
|
if (!isCameraAvailable()) {
|
||||||
@@ -77,6 +84,9 @@ public abstract class AbstractScannerActivity extends AppCompatActivity {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configure toolbar of app
|
||||||
|
* */
|
||||||
protected final void setupToolbar(final int toolbarId, final @NonNull String title) {
|
protected final void setupToolbar(final int toolbarId, final @NonNull String title) {
|
||||||
Log.d(TAG, "setupToolbar");
|
Log.d(TAG, "setupToolbar");
|
||||||
final Toolbar toolbar = (Toolbar) findViewById(toolbarId);
|
final Toolbar toolbar = (Toolbar) findViewById(toolbarId);
|
||||||
@@ -90,12 +100,18 @@ public abstract class AbstractScannerActivity extends AppCompatActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds scanner view to target frame layout
|
||||||
|
* */
|
||||||
protected final void setupScanner(final View view, final int targetFrameId) {
|
protected final void setupScanner(final View view, final int targetFrameId) {
|
||||||
Log.d(TAG, "setupScanner");
|
Log.d(TAG, "setupScanner");
|
||||||
final FrameLayout root = (FrameLayout) findViewById(targetFrameId);
|
final FrameLayout root = (FrameLayout) findViewById(targetFrameId);
|
||||||
root.addView(view, 0);
|
root.addView(view, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize network client
|
||||||
|
* */
|
||||||
protected final void setupApiClient(final Intent intent) {
|
protected final void setupApiClient(final Intent intent) {
|
||||||
Log.d(TAG, "setupApiClient");
|
Log.d(TAG, "setupApiClient");
|
||||||
final String url = intent.getStringExtra(MainActivity.PREF_API_URL);
|
final String url = intent.getStringExtra(MainActivity.PREF_API_URL);
|
||||||
@@ -106,20 +122,34 @@ public abstract class AbstractScannerActivity extends AppCompatActivity {
|
|||||||
+ url + ", appToken " + appToken + ", token " + token);
|
+ url + ", appToken " + appToken + ", token " + token);
|
||||||
|
|
||||||
apiClient = new ApiClient(url, appToken, token);
|
apiClient = new ApiClient(url, appToken, token);
|
||||||
|
networkThread = new NetworkThread(this, apiClient);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final void networkCallback(final @NonNull Pair<String, String> result) {
|
/**
|
||||||
|
* Handles barcode.
|
||||||
|
* Makes network call in separate thread and call
|
||||||
|
* networkResponseCallback
|
||||||
|
* @param card scanned card number
|
||||||
|
* */
|
||||||
|
public void handleBarcode(final @NonNull String card) {
|
||||||
|
Log.d(TAG, "handleBarcode");
|
||||||
|
if (BuildConfig.DEBUG) {
|
||||||
|
Toast.makeText(this, card, Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
networkThread.card(card).start();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected final void networkResponseCallback(final @NonNull Pair<String, String> result) {
|
||||||
|
Log.d(TAG, "networkResponseCallback");
|
||||||
if (null != result.first) {
|
if (null != result.first) {
|
||||||
Log.d(TAG, "user found, finish activity with result");
|
Log.d(TAG, "user found, finish activity with result");
|
||||||
final Intent intent = new Intent();
|
final Intent intent = new Intent();
|
||||||
intent.putExtra("user", result.second);
|
intent.putExtra("user", result.second);
|
||||||
intent.putExtra("card", result.first);
|
intent.putExtra("card", result.first);
|
||||||
setResult(RESULT_OK, intent);
|
setResult(RESULT_OK, intent);
|
||||||
|
networkThread.close();
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
findUserThread.close();
|
|
||||||
findUserThread = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class CameraActivity extends AppCompatActivity implements Camera.PreviewC
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
if (!isCameraAvailable()) {
|
if (!isCameraAvailable()) {
|
||||||
@@ -119,7 +119,7 @@ public class CameraActivity extends AppCompatActivity implements Camera.PreviewC
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
// Open the default i.e. the first rear facing camera.
|
// Open the default i.e. the first rear facing camera.
|
||||||
@@ -137,7 +137,7 @@ public class CameraActivity extends AppCompatActivity implements Camera.PreviewC
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
|
|
||||||
// Because the Camera object is a shared resource, it's very
|
// Because the Camera object is a shared resource, it's very
|
||||||
@@ -248,6 +248,7 @@ public class CameraActivity extends AppCompatActivity implements Camera.PreviewC
|
|||||||
}
|
}
|
||||||
|
|
||||||
void handleResult(Response response, String card) {
|
void handleResult(Response response, String card) {
|
||||||
|
Log.d("CameraActivity", "handleResult");
|
||||||
if (response == null) {
|
if (response == null) {
|
||||||
mPreviewing = true;
|
mPreviewing = true;
|
||||||
mCamera.startPreview();
|
mCamera.startPreview();
|
||||||
@@ -317,6 +318,7 @@ public class CameraActivity extends AppCompatActivity implements Camera.PreviewC
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
Log.d("CameraActivity", "NetworkThread.run");
|
||||||
Request request = new Request.Builder()
|
Request request = new Request.Builder()
|
||||||
.addHeader("DM-Authorization", "dmapptoken " + mAppToken)
|
.addHeader("DM-Authorization", "dmapptoken " + mAppToken)
|
||||||
.addHeader("Authorization", "dmtoken " + mToken)
|
.addHeader("Authorization", "dmtoken " + mToken)
|
||||||
|
|||||||
@@ -19,30 +19,27 @@ import android.support.annotation.NonNull;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
|
|
||||||
import com.dinect.checker.zxing.*;
|
|
||||||
import com.dinect.net.ApiClient;
|
import com.dinect.net.ApiClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by anonymous on 03.08.17.
|
* Created by anonymous on 03.08.17.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public final class FindUserThread extends Thread {
|
public final class NetworkThread extends Thread {
|
||||||
|
|
||||||
private static final String TAG = "C.FindUserThread";
|
private static final String TAG = "C.NetworkThread";
|
||||||
|
|
||||||
private com.dinect.checker.zxing.ScannerActivity activity;
|
private AbstractScannerActivity activity;
|
||||||
private final ApiClient client;
|
private final ApiClient client;
|
||||||
private final String card;
|
private String card;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param activity caller activity
|
* @param activity caller activity (with networkResponseCallback())
|
||||||
* @param client ApiClient instance
|
* @param client ApiClient instance
|
||||||
* @param card card number
|
|
||||||
*/
|
*/
|
||||||
public FindUserThread(final @NonNull com.dinect.checker.zxing.ScannerActivity activity, final @NonNull ApiClient client, final @NonNull String card) {
|
public NetworkThread(final @NonNull AbstractScannerActivity activity, final @NonNull ApiClient client) {
|
||||||
this.activity = activity;
|
this.activity = activity;
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.card = card;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -53,12 +50,21 @@ public final class FindUserThread extends Thread {
|
|||||||
activity.runOnUiThread(new Runnable() {
|
activity.runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
activity.networkCallback(response);
|
activity.networkResponseCallback(response);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set card for network call
|
||||||
|
* @parm card number to search
|
||||||
|
* */
|
||||||
|
public NetworkThread card(final @NonNull String card) {
|
||||||
|
this.card = card;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
void close() {
|
void close() {
|
||||||
activity = null;
|
activity = null;
|
||||||
}
|
}
|
||||||
@@ -17,10 +17,8 @@ package com.dinect.checker.zxing;
|
|||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.widget.Toast;
|
|
||||||
|
|
||||||
import com.dinect.checker.AbstractScannerActivity;
|
import com.dinect.checker.AbstractScannerActivity;
|
||||||
import com.dinect.checker.FindUserThread;
|
|
||||||
import com.dinect.checker.R;
|
import com.dinect.checker.R;
|
||||||
import com.google.zxing.Result;
|
import com.google.zxing.Result;
|
||||||
|
|
||||||
@@ -68,10 +66,8 @@ public class ScannerActivity extends AbstractScannerActivity
|
|||||||
@Override
|
@Override
|
||||||
public void handleResult(Result raw) {
|
public void handleResult(Result raw) {
|
||||||
final String card = raw.getText();
|
final String card = raw.getText();
|
||||||
Toast.makeText(this, card, Toast.LENGTH_SHORT).show();
|
|
||||||
|
|
||||||
findUserThread = new FindUserThread(this, apiClient, card);
|
handleBarcode(card);
|
||||||
findUserThread.start();
|
|
||||||
|
|
||||||
final Handler handler = new Handler();
|
final Handler handler = new Handler();
|
||||||
handler.postDelayed(new Runnable() {
|
handler.postDelayed(new Runnable() {
|
||||||
@@ -79,6 +75,6 @@ public class ScannerActivity extends AbstractScannerActivity
|
|||||||
public void run() {
|
public void run() {
|
||||||
scannerView.resumeCameraPreview(ScannerActivity.this);
|
scannerView.resumeCameraPreview(ScannerActivity.this);
|
||||||
}
|
}
|
||||||
}, 2000);
|
}, 500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user