导航菜单

页面标题

页面副标题

Harvest v2.32 - UpdateTrackingDetailActivity.java 源代码

正在查看: Harvest v2.32 应用的 UpdateTrackingDetailActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.ufields.tracking;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.nfc.NdefRecord;
import android.nfc.NfcAdapter;
import android.nfc.Tag;
import android.nfc.tech.Ndef;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.Spinner;
import android.widget.SpinnerAdapter;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.google.android.material.snackbar.Snackbar;
import com.itextpdf.text.xml.xmp.XmpWriter;
import com.ufields.tracking.App.AppUtils;
import com.ufields.tracking.App.EndPoints;
import com.ufields.tracking.App.MyApplication;
import com.ufields.tracking.Databases.DeleteScanTracking;
import com.ufields.tracking.Databases.ExportScannedTracking;
import com.ufields.tracking.Databases.PendingTracking;
import com.ufields.tracking.Databases.UpdatedScanTracking;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import kotlin.jvm.internal.ByteCompanionObject;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;
import org.apache.http.params.HttpConnectionParams;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class UpdateTrackingDetailActivity extends AppCompatActivity implements NfcAdapter.ReaderCallback {
    private static final String MIME_TEXT_PLAIN = "text/plain";
    private static final String TAG = "NfcDemo";

    @BindView(R.id.addQuantity)
    ImageView addQuantity;

    @BindView(R.id.deleteButtonUTD)
    Button deleteButton;
    private DeleteScanTracking deleteScanTracking;
    private ExportScannedTracking exportScannedTracking;
    private Dialog pDialog;
    private PendingTracking pendingTracking;
    private ProgressBar progressBar;

    @BindView(R.id.quantity)
    EditText quantity;
    private TextView setMessage;

    @BindView(R.id.containerToolbar)
    LinearLayout snack;

    @BindView(R.id.spinnerUTD)
    Spinner spinner;

    @BindView(R.id.subtractQuantity)
    ImageView subtractQuantity;

    @BindView(R.id.toolbar)
    Toolbar toolbar;
    private TextView toolbarTitle;

    @BindView(R.id.updateButtonUTD)
    Button updateButton;
    private UpdatedScanTracking updatedScanTracking;
    private CharSequence mTitle = "";
    private HashMap<String, String> cropPackage = new HashMap<>();
    private ArrayList<String> spinnerItems = new ArrayList<>();
    private NfcAdapter mNfcAdapter = null;
    private String previousPackageId = "";
    private String uniqueID = "";

    public static void setupForegroundDispatch(NfcAdapter.ReaderCallback readerCallback, Activity activity, NfcAdapter nfcAdapter) {
        Bundle bundle = new Bundle();
        bundle.putInt("presence", 1000);
        nfcAdapter.enableReaderMode(activity, readerCallback, 15, bundle);
    }

    public static void stopForegroundDispatch(Activity activity, NfcAdapter nfcAdapter) {
        nfcAdapter.disableReaderMode(activity);
    }

    protected void onCreate(Bundle bundle) {
        AppUtils.setConfigChange(this);
        super.onCreate(bundle);
        setContentView(R.layout.activity_update_tracking_detail);
        ButterKnife.bind(this);
        this.pendingTracking = MyApplication.getInstance().getPendingTracking();
        this.exportScannedTracking = MyApplication.getInstance().getExportScannedTracking();
        this.deleteScanTracking = MyApplication.getInstance().getDeletedScanTracking();
        this.updatedScanTracking = MyApplication.getInstance().getUpdatedScanTracking();
        this.mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
        if (getIntent() != null && getIntent().getStringExtra("packageQuantity") != null) {
            this.quantity.setText(getIntent().getStringExtra("packageQuantity"));
        } else {
            this.quantity.setText("0");
        }
        this.mTitle = getIntent().getStringExtra("name") + "\n" + getIntent().getStringExtra("time");
        this.uniqueID = getIntent().getStringExtra("uniqueID");
        this.toolbarTitle = (TextView) this.toolbar.findViewById(R.id.toolbarText);
        ImageView imageView = (ImageView) this.toolbar.findViewById(R.id.toolbarBack);
        setupToolbar();
        Dialog dialog = new Dialog(this);
        this.pDialog = dialog;
        dialog.setCanceledOnTouchOutside(false);
        this.pDialog.requestWindowFeature(1);
        this.pDialog.setContentView(R.layout.progress_dialog);
        this.pDialog.setTitle("");
        this.progressBar = (ProgressBar) this.pDialog.findViewById(R.id.progress);
        this.setMessage = (TextView) this.pDialog.findViewById(R.id.message);
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                UpdateTrackingDetailActivity.this.m51xff9be42b(view);
            }
        });
        this.spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
            }

            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long j) {
                if (((String) UpdateTrackingDetailActivity.this.spinnerItems.get(i)).equalsIgnoreCase(UpdateTrackingDetailActivity.this.getIntent().getStringExtra("packageName"))) {
                    UpdateTrackingDetailActivity.this.previousPackageId = "";
                } else {
                    UpdateTrackingDetailActivity updateTrackingDetailActivity = UpdateTrackingDetailActivity.this;
                    updateTrackingDetailActivity.previousPackageId = updateTrackingDetailActivity.getIntent().getStringExtra("packageId");
                }
            }
        });
        this.subtractQuantity.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                UpdateTrackingDetailActivity.this.m52x432701ec(view);
            }
        });
        this.addQuantity.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                UpdateTrackingDetailActivity.this.m53x86b21fad(view);
            }
        });
        updateActivity();
        this.updateButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                UpdateTrackingDetailActivity.this.m54xca3d3d6e(view);
            }
        });
        this.deleteButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                UpdateTrackingDetailActivity.this.m55xdc85b2f(view);
            }
        });
    }

    void m51xff9be42b(View view) {
        finish();
    }

    void m52x432701ec(View view) {
        int parseInt = Integer.parseInt(this.quantity.getText().toString().trim());
        if (parseInt > 0) {
            this.quantity.setText(Integer.toString(parseInt - 1));
        } else {
            Toast.makeText(getApplicationContext(), "NOT ALLOWED", 0).show();
        }
    }

    void m53x86b21fad(View view) {
        this.quantity.setText(Integer.toString(Integer.parseInt(this.quantity.getText().toString().trim()) + 1));
    }

    void m54xca3d3d6e(View view) {
        if (!getIntent().getStringExtra("id").equalsIgnoreCase("")) {
            if (!this.pendingTracking.getTracking(this.uniqueID).equalsIgnoreCase("")) {
                try {
                    JSONObject jSONObject = new JSONObject(this.pendingTracking.getTracking(this.uniqueID));
                    JSONObject jSONObject2 = new JSONObject(this.exportScannedTracking.getTracking(this.uniqueID, getCurrentDate(), getIntent().getStringExtra("harvestId")));
                    JSONObject jSONObject3 = new JSONObject();
                    jSONObject.put("packageId", this.cropPackage.get(this.spinner.getSelectedItem().toString().trim()));
                    jSONObject.put("packageQty", Integer.parseInt(this.quantity.getText().toString().trim()));
                    jSONObject2.put("packageName", this.spinner.getSelectedItem().toString().trim());
                    jSONObject2.put("packageQty", Integer.parseInt(this.quantity.getText().toString().trim()));
                    jSONObject3.put("employeeName", getIntent().getStringExtra("name"));
                    jSONObject3.put("time", getCurrentTime().split(":")[0] + ":" + getCurrentTime().split(":")[1]);
                    jSONObject3.put("packageName", this.spinner.getSelectedItem().toString());
                    jSONObject3.put("beforeQty", Integer.parseInt(getIntent().getStringExtra("packageQuantity")));
                    jSONObject3.put("afterQty", Integer.parseInt(this.quantity.getText().toString().trim()));
                    this.pendingTracking.updateTracking(this.uniqueID, jSONObject.toString());
                    this.exportScannedTracking.updateTracking(this.uniqueID, getCurrentDate(), jSONObject2.toString(), getIntent().getStringExtra("harvestId"));
                    this.updatedScanTracking.addUpdatedTracking(getCurrentTime(), jSONObject3.toString(), getCurrentDate(), this.uniqueID, getIntent().getStringExtra("harvestId"));
                    updateScan();
                    return;
                } catch (JSONException unused) {
                    showSnackBar(getResources().getString(R.string.somethingwentwrong), "#D0021B");
                    return;
                }
            }
            if (isNetworkAvailable()) {
                new UpdateTrackingDetail().execute(new String[0]);
                return;
            } else {
                showSnackBar(getResources().getString(R.string.nointernet), "#D0021B");
                return;
            }
        }
        showSnackBar(getResources().getString(R.string.failedtoupdate), "#D0021B");
    }

    void m55xdc85b2f(View view) {
        deleteTrackingDialog();
    }

    private void deleteTrackingDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.AlertDialogTheme);
        View inflate = getLayoutInflater().inflate(R.layout.delete_dialog, (ViewGroup) null);
        builder.setView(inflate);
        builder.setCancelable(false);
        final AlertDialog create = builder.create();
        Button button = (Button) inflate.findViewById(R.id.buttonDelete);
        Button button2 = (Button) inflate.findViewById(R.id.buttonDismiss);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                UpdateTrackingDetailActivity.this.m50x1426919f(create, view);
            }
        });
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                create.dismiss();
            }
        });
        create.show();
    }

    void m50x1426919f(AlertDialog alertDialog, View view) {
        deleteTracking();
        alertDialog.dismiss();
    }

    private void deleteTracking() {
        if (!getIntent().getStringExtra("id").equalsIgnoreCase("")) {
            if (!this.pendingTracking.getTracking(this.uniqueID).equalsIgnoreCase("")) {
                JSONObject jSONObject = new JSONObject();
                try {
                    jSONObject.put("employeeName", getIntent().getStringExtra("name"));
                    jSONObject.put("time", getCurrentTime().split(":")[0] + ":" + getCurrentTime().split(":")[1]);
                    jSONObject.put("packageName", this.spinner.getSelectedItem().toString());
                    jSONObject.put("packageQty", Integer.parseInt(this.quantity.getText().toString().trim()));
                    this.deleteScanTracking.addDeleteTracking(this.uniqueID, jSONObject.toString(), getCurrentDate(), getIntent().getStringExtra("harvestId"));
                } catch (JSONException unused) {
                    showSnackBar(getResources().getString(R.string.somethingwentwrong), "#D0021B");
                }
                this.pendingTracking.deleteTracking(this.uniqueID);
                this.exportScannedTracking.deleteTracking(this.uniqueID, getCurrentDate(), getIntent().getStringExtra("harvestId"));
                this.updatedScanTracking.deleteUpdatedTracking(this.uniqueID, getCurrentDate(), getIntent().getStringExtra("harvestId"));
                removeScan();
                return;
            }
            if (isNetworkAvailable()) {
                new DeleteTrackingDetail().execute(new String[0]);
                return;
            } else {
                showSnackBar(getResources().getString(R.string.nointernet), "#D0021B");
                return;
            }
        }
        showSnackBar(getResources().getString(R.string.failedtodelete), "#D0021B");
    }

    public void showSnackBar(String str, String str2) {
        Snackbar make = Snackbar.make(this.snack, str, 0);
        View view = make.getView();
        view.setBackgroundColor(Color.parseColor(str2));
        TextView textView = (TextView) view.findViewById(R.id.snackbar_text);
        textView.setGravity(17);
        textView.setTextColor(Color.parseColor("#FFFFFF"));
        textView.setAllCaps(true);
        make.show();
    }

    public String getCurrentDate() {
        return new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
    }

    public String getCurrentTime() {
        return new SimpleDateFormat("kk:mm:ss").format(Calendar.getInstance().getTime());
    }

    public void updateScan() {
        try {
            if (MyApplication.getInstance().getPrefManager().getHarvest(getIntent().getStringExtra("organizationId"), getIntent().getStringExtra("harvestId")) != null) {
                JSONObject harvest = MyApplication.getInstance().getPrefManager().getHarvest(getIntent().getStringExtra("organizationId"), getIntent().getStringExtra("harvestId"));
                JSONArray harvestTrackingDetail = MyApplication.getInstance().getPrefManager().getHarvestTrackingDetail(getIntent().getStringExtra("harvestId"), getCurrentDate());
                if (harvestTrackingDetail.length() != 0) {
                    int i = 0;
                    while (true) {
                        if (i >= harvestTrackingDetail.length()) {
                            break;
                        }
                        JSONObject jSONObject = harvestTrackingDetail.getJSONObject(i);
                        if (jSONObject.getString("_id").equalsIgnoreCase(getIntent().getStringExtra("id"))) {
                            jSONObject.put("packageId", this.cropPackage.get(this.spinner.getSelectedItem().toString().trim()));
                            jSONObject.put("packageQty", Integer.parseInt(this.quantity.getText().toString().trim()));
                            harvestTrackingDetail.put(i, jSONObject);
                            break;
                        }
                        i++;
                    }
                }
                harvest.put("scans", harvestTrackingDetail);
                MyApplication.getInstance().getPrefManager().storeHarvestTrackingDetail(getIntent().getStringExtra("harvestId"), getCurrentDate(), harvestTrackingDetail.toString());
                JSONArray jSONArray = harvest.getJSONArray("packages");
                if (jSONArray.length() != 0) {
                    String str = this.cropPackage.get(this.spinner.getSelectedItem().toString());
                    for (int i2 = 0; i2 < jSONArray.length(); i2++) {
                        JSONObject jSONObject2 = jSONArray.getJSONObject(i2);
                        if (this.previousPackageId.equalsIgnoreCase("")) {
                            if (jSONObject2.getString("_id").trim().equalsIgnoreCase(this.cropPackage.get(this.spinner.getSelectedItem().toString().trim()))) {
                                jSONObject2.put("totalPackages", (jSONObject2.getInt("totalPackages") + Integer.parseInt(this.quantity.getText().toString().trim())) - Integer.parseInt(getIntent().getStringExtra("packageQuantity")));
                                jSONObject2.put("_id", str);
                                jSONArray.put(i2, jSONObject2);
                            }
                        } else if (jSONObject2.getString("_id").trim().equalsIgnoreCase(this.cropPackage.get(this.spinner.getSelectedItem().toString().trim()))) {
                            jSONObject2.put("totalPackages", jSONObject2.getInt("totalPackages") + Integer.parseInt(this.quantity.getText().toString().trim()));
                            jSONObject2.put("_id", str);
                            jSONArray.put(i2, jSONObject2);
                        } else if (jSONObject2.getString("_id").equalsIgnoreCase(this.previousPackageId)) {
                            jSONObject2.put("totalPackages", jSONObject2.getInt("totalPackages") - Integer.parseInt(getIntent().getStringExtra("packageQuantity")));
                        }
                    }
                }
                harvest.put("packages", jSONArray);
                MyApplication.getInstance().getPrefManager().storeHarvest(getIntent().getStringExtra("organizationId"), getIntent().getStringExtra("harvestId"), harvest.toString());
            }
            showSnackBar(getResources().getString(R.string.successtoupdate), "#7ED321");
            finish();
        } catch (JSONException unused) {
            showSnackBar(getResources().getString(R.string.failedtoupdate), "#D0021B");
        }
    }

    public void removeScan() {
        try {
            if (MyApplication.getInstance().getPrefManager().getHarvest(getIntent().getStringExtra("organizationId"), getIntent().getStringExtra("harvestId")) != null) {
                JSONObject harvest = MyApplication.getInstance().getPrefManager().getHarvest(getIntent().getStringExtra("organizationId"), getIntent().getStringExtra("harvestId"));
                JSONArray harvestTrackingDetail = MyApplication.getInstance().getPrefManager().getHarvestTrackingDetail(getIntent().getStringExtra("harvestId"), getCurrentDate());
                JSONArray jSONArray = new JSONArray();
                if (harvestTrackingDetail.length() != 0) {
                    for (int i = 0; i < harvestTrackingDetail.length(); i++) {
                        JSONObject jSONObject = harvestTrackingDetail.getJSONObject(i);
                        if (!jSONObject.getString("_id").equalsIgnoreCase(getIntent().getStringExtra("id"))) {
                            jSONArray.put(jSONObject);
                        }
                    }
                }
                harvest.put("scans", jSONArray);
                MyApplication.getInstance().getPrefManager().storeHarvestTrackingDetail(getIntent().getStringExtra("harvestId"), getCurrentDate(), jSONArray.toString());
                JSONArray jSONArray2 = harvest.getJSONArray("packages");
                if (jSONArray2.length() != 0) {
                    String str = this.cropPackage.get(this.spinner.getSelectedItem().toString());
                    for (int i2 = 0; i2 < jSONArray2.length(); i2++) {
                        JSONObject jSONObject2 = jSONArray2.getJSONObject(i2);
                        if (jSONObject2.getString("_id").trim().equalsIgnoreCase(getIntent().getStringExtra("packageId"))) {
                            jSONObject2.put("totalPackages", jSONObject2.getInt("totalPackages") - Integer.parseInt(getIntent().getStringExtra("packageQuantity")));
                            jSONObject2.put("_id", str);
                            jSONArray2.put(i2, jSONObject2);
                        }
                    }
                }
                harvest.put("packages", jSONArray2);
                MyApplication.getInstance().getPrefManager().storeHarvest(getIntent().getStringExtra("organizationId"), getIntent().getStringExtra("harvestId"), harvest.toString());
            }
            showSnackBar(getResources().getString(R.string.successtodelete), "#7ED321");
            finish();
        } catch (JSONException unused) {
            showSnackBar(getResources().getString(R.string.failedtodelete), "#D0021B");
        }
    }

    private void updateActivity() {
        try {
            if (MyApplication.getInstance().getPrefManager().getCropPackage(getIntent().getStringExtra("cropId")) != null) {
                JSONArray cropPackage = MyApplication.getInstance().getPrefManager().getCropPackage(getIntent().getStringExtra("cropId"));
                this.spinnerItems.clear();
                for (int i = 0; i < cropPackage.length(); i++) {
                    JSONObject jSONObject = cropPackage.getJSONObject(i);
                    if (jSONObject.getString("_id").equalsIgnoreCase(getIntent().getStringExtra("defaultPackageId"))) {
                        this.cropPackage.put(jSONObject.getString("name") + " (" + getResources().getString(R.string.Default) + ")", jSONObject.getString("_id"));
                        this.cropPackage.put(jSONObject.getString("_id"), jSONObject.getString("name") + " (" + getResources().getString(R.string.Default) + ")");
                        this.spinnerItems.add(jSONObject.getString("name") + " (" + getResources().getString(R.string.Default) + ")");
                    } else {
                        this.cropPackage.put(jSONObject.getString("name"), jSONObject.getString("_id"));
                        this.cropPackage.put(jSONObject.getString("_id"), jSONObject.getString("name"));
                        this.spinnerItems.add(jSONObject.getString("name"));
                    }
                }
                populateSpinner();
                if (this.spinnerItems.indexOf(getIntent().getStringExtra("packageName")) != -1) {
                    this.spinner.setSelection(this.spinnerItems.indexOf(getIntent().getStringExtra("packageName")), true);
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    protected void onResume() {
        super.onResume();
        NfcAdapter nfcAdapter = this.mNfcAdapter;
        if (nfcAdapter == null || !nfcAdapter.isEnabled()) {
            return;
        }
        setupForegroundDispatch(this, this, this.mNfcAdapter);
    }

    protected void onPause() {
        NfcAdapter nfcAdapter = this.mNfcAdapter;
        if (nfcAdapter != null && nfcAdapter.isEnabled()) {
            stopForegroundDispatch(this, this.mNfcAdapter);
        }
        super.onPause();
    }

    public void setupToolbar() {
        setSupportActionBar(this.toolbar);
        getSupportActionBar().setTitle("");
        this.toolbarTitle.setText(this.mTitle);
    }

    public void populateSpinner() {
        ArrayAdapter arrayAdapter = new ArrayAdapter((Context) this, android.R.layout.simple_spinner_dropdown_item, (List) this.spinnerItems);
        arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        this.spinner.setAdapter((SpinnerAdapter) arrayAdapter);
    }

    public void onBackPressed() {
        finish();
    }

    public void showDialog() {
        if (this.pDialog.isShowing()) {
            return;
        }
        this.progressBar.setVisibility(0);
        this.pDialog.show();
    }

    public void hideDialog() {
        try {
            if (!this.pDialog.isShowing() || this.pDialog == null) {
                return;
            }
            this.progressBar.setVisibility(4);
            this.pDialog.dismiss();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private boolean isNetworkAvailable() {
        NetworkInfo activeNetworkInfo = ((ConnectivityManager) getSystemService("connectivity")).getActiveNetworkInfo();
        return activeNetworkInfo != null && activeNetworkInfo.isConnected();
    }

    public String convertStreamToString(InputStream inputStream) {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        StringBuilder sb = new StringBuilder();
        while (true) {
            try {
                try {
                    try {
                        String readLine = bufferedReader.readLine();
                        if (readLine == null) {
                            break;
                        }
                        sb.append(readLine);
                        sb.append('\n');
                    } catch (IOException e) {
                        e.printStackTrace();
                        inputStream.close();
                    }
                } catch (Throwable th) {
                    try {
                        inputStream.close();
                    } catch (IOException e2) {
                        e2.printStackTrace();
                    }
                    throw th;
                }
            } catch (IOException e3) {
                e3.printStackTrace();
            }
        }
        inputStream.close();
        return sb.toString();
    }

    @Override
    public void onTagDiscovered(Tag tag) {
        new NdefReaderTask().execute(tag);
    }

    private class NdefReaderTask extends AsyncTask<Tag, Void, String> {
        @Override
        public void onPostExecute(String str) {
        }

        private NdefReaderTask() {
        }

        @Override
        public String doInBackground(Tag... tagArr) {
            Ndef ndef = Ndef.get(tagArr[0]);
            if (ndef == null) {
                return null;
            }
            NdefRecord[] records = ndef.getCachedNdefMessage().getRecords();
            int length = records.length;
            for (int i = 0; i < length; i++) {
                NdefRecord ndefRecord = records[i];
                if (ndefRecord.getTnf() == 1 && Arrays.equals(ndefRecord.getType(), NdefRecord.RTD_TEXT)) {
                    try {
                        return readText(ndefRecord);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
            return null;
        }

        private String readText(NdefRecord ndefRecord) throws UnsupportedEncodingException {
            byte[] payload = ndefRecord.getPayload();
            byte b = payload[0];
            return new String(payload, (b & 51) + 1, (payload.length - r0) - 1, (b & ByteCompanionObject.MIN_VALUE) == 0 ? XmpWriter.UTF8 : XmpWriter.UTF16);
        }
    }

    public class DeleteTrackingDetail extends AsyncTask<String, Void, String> {
        public DeleteTrackingDetail() {
        }

        @Override
        protected void onPreExecute() {
            UpdateTrackingDetailActivity.this.setMessage.setText(UpdateTrackingDetailActivity.this.getResources().getString(R.string.deletingtrackingdetail));
            UpdateTrackingDetailActivity.this.showDialog();
        }

        @Override
        public String doInBackground(String... strArr) {
            DefaultHttpClient defaultHttpClient = new DefaultHttpClient();
            HttpConnectionParams.setConnectionTimeout(defaultHttpClient.getParams(), 1000);
            InputStream inputStream = null;
            try {
                HttpResponse execute = defaultHttpClient.execute(new HttpDelete(EndPoints.DELETE_HARVEST_TRACKING + UpdateTrackingDetailActivity.this.getIntent().getStringExtra("id")));
                if (execute != null) {
                    inputStream = execute.getEntity().getContent();
                }
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (ClientProtocolException e2) {
                e2.printStackTrace();
            } catch (IOException e3) {
                e3.printStackTrace();
            }
            return inputStream != null ? UpdateTrackingDetailActivity.this.convertStreamToString(inputStream) : "";
        }

        @Override
        public void onPostExecute(String str) {
            UpdateTrackingDetailActivity.this.hideDialog();
            if (!str.equals("")) {
                try {
                    if (!new JSONObject(str).getString("message").equalsIgnoreCase("Harvest detail deleted successfully!")) {
                        UpdateTrackingDetailActivity updateTrackingDetailActivity = UpdateTrackingDetailActivity.this;
                        updateTrackingDetailActivity.showSnackBar(updateTrackingDetailActivity.getResources().getString(R.string.failedtodelete), "#D0021B");
                    } else {
                        JSONObject jSONObject = new JSONObject();
                        jSONObject.put("employeeName", UpdateTrackingDetailActivity.this.getIntent().getStringExtra("name"));
                        jSONObject.put("time", UpdateTrackingDetailActivity.this.getCurrentTime().split(":")[0] + ":" + UpdateTrackingDetailActivity.this.getCurrentTime().split(":")[1]);
                        jSONObject.put("packageName", UpdateTrackingDetailActivity.this.spinner.getSelectedItem().toString());
                        jSONObject.put("packageQty", Integer.parseInt(UpdateTrackingDetailActivity.this.quantity.getText().toString().trim()));
                        UpdateTrackingDetailActivity.this.deleteScanTracking.addDeleteTracking(UUID.randomUUID().toString(), jSONObject.toString(), UpdateTrackingDetailActivity.this.getCurrentDate(), UpdateTrackingDetailActivity.this.getIntent().getStringExtra("harvestId"));
                        UpdateTrackingDetailActivity.this.exportScannedTracking.deleteTracking(UpdateTrackingDetailActivity.this.uniqueID, UpdateTrackingDetailActivity.this.getCurrentDate(), UpdateTrackingDetailActivity.this.getIntent().getStringExtra("harvestId"));
                        UpdateTrackingDetailActivity.this.updatedScanTracking.deleteUpdatedTracking(UpdateTrackingDetailActivity.this.uniqueID, UpdateTrackingDetailActivity.this.getCurrentDate(), UpdateTrackingDetailActivity.this.getIntent().getStringExtra("harvestId"));
                        UpdateTrackingDetailActivity.this.removeScan();
                        UpdateTrackingDetailActivity updateTrackingDetailActivity2 = UpdateTrackingDetailActivity.this;
                        updateTrackingDetailActivity2.showSnackBar(updateTrackingDetailActivity2.getResources().getString(R.string.successtodelete), "#7ED321");
                    }
                    return;
                } catch (JSONException unused) {
                    UpdateTrackingDetailActivity updateTrackingDetailActivity3 = UpdateTrackingDetailActivity.this;
                    updateTrackingDetailActivity3.showSnackBar(updateTrackingDetailActivity3.getResources().getString(R.string.somethingwentwrong), "#D0021B");
                    return;
                }
            }
            UpdateTrackingDetailActivity updateTrackingDetailActivity4 = UpdateTrackingDetailActivity.this;
            updateTrackingDetailActivity4.showSnackBar(updateTrackingDetailActivity4.getResources().getString(R.string.internetconnectionproblem), "#D0021B");
        }
    }

    public class UpdateTrackingDetail extends AsyncTask<String, Void, String> {
        JSONObject jsonObject;

        public UpdateTrackingDetail() {
        }

        @Override
        protected void onPreExecute() {
            UpdateTrackingDetailActivity.this.setMessage.setText(UpdateTrackingDetailActivity.this.getResources().getString(R.string.updatingharvesttracking));
            UpdateTrackingDetailActivity.this.showDialog();
            this.jsonObject = new JSONObject();
        }

        @Override
        public String doInBackground(String... strArr) {
            DefaultHttpClient defaultHttpClient = new DefaultHttpClient();
            HttpConnectionParams.setConnectionTimeout(defaultHttpClient.getParams(), 1000);
            HttpPut httpPut = new HttpPut("https://app.ufields.ca/api/mobile/harvest-detail");
            InputStream inputStream = null;
            try {
                this.jsonObject.put("_id", UpdateTrackingDetailActivity.this.getIntent().getStringExtra("id"));
                this.jsonObject.put("harvestId", UpdateTrackingDetailActivity.this.getIntent().getStringExtra("harvestId"));
                this.jsonObject.put("employeeId", UpdateTrackingDetailActivity.this.getIntent().getStringExtra("employeeId"));
                this.jsonObject.put("packageId", UpdateTrackingDetailActivity.this.cropPackage.get(UpdateTrackingDetailActivity.this.spinner.getSelectedItem().toString()));
                this.jsonObject.put("packageQty", Integer.parseInt(UpdateTrackingDetailActivity.this.quantity.getText().toString().trim()));
                StringEntity stringEntity = new StringEntity(this.jsonObject.toString());
                stringEntity.setContentType(new BasicHeader("Content-Type", "application/json"));
                httpPut.setEntity(stringEntity);
                HttpResponse execute = defaultHttpClient.execute(httpPut);
                if (execute != null) {
                    inputStream = execute.getEntity().getContent();
                }
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (ClientProtocolException e2) {
                e2.printStackTrace();
            } catch (IOException e3) {
                e3.printStackTrace();
            } catch (JSONException e4) {
                e4.printStackTrace();
            }
            return inputStream != null ? UpdateTrackingDetailActivity.this.convertStreamToString(inputStream) : "";
        }

        @Override
        public void onPostExecute(String str) {
            UpdateTrackingDetailActivity.this.hideDialog();
            if (!str.equals("")) {
                try {
                    if (!new JSONObject(str).getString("message").equalsIgnoreCase("Harvest detail updated successfully!")) {
                        UpdateTrackingDetailActivity updateTrackingDetailActivity = UpdateTrackingDetailActivity.this;
                        updateTrackingDetailActivity.showSnackBar(updateTrackingDetailActivity.getResources().getString(R.string.failedtoupdate), "#D0021B");
                    } else {
                        JSONObject jSONObject = new JSONObject();
                        jSONObject.put("employeeName", UpdateTrackingDetailActivity.this.getIntent().getStringExtra("name"));
                        jSONObject.put("time", UpdateTrackingDetailActivity.this.getCurrentTime().split(":")[0] + ":" + UpdateTrackingDetailActivity.this.getCurrentTime().split(":")[1]);
                        jSONObject.put("packageName", UpdateTrackingDetailActivity.this.spinner.getSelectedItem().toString());
                        jSONObject.put("beforeQty", Integer.parseInt(UpdateTrackingDetailActivity.this.getIntent().getStringExtra("packageQuantity")));
                        jSONObject.put("afterQty", Integer.parseInt(UpdateTrackingDetailActivity.this.quantity.getText().toString().trim()));
                        UpdateTrackingDetailActivity.this.updatedScanTracking.addUpdatedTracking(UpdateTrackingDetailActivity.this.getCurrentTime(), jSONObject.toString(), UpdateTrackingDetailActivity.this.getCurrentDate(), UpdateTrackingDetailActivity.this.uniqueID, UpdateTrackingDetailActivity.this.getIntent().getStringExtra("harvestId"));
                        UpdateTrackingDetailActivity.this.updateScan();
                        UpdateTrackingDetailActivity updateTrackingDetailActivity2 = UpdateTrackingDetailActivity.this;
                        updateTrackingDetailActivity2.showSnackBar(updateTrackingDetailActivity2.getResources().getString(R.string.successtoupdate), "#7ED321");
                    }
                    return;
                } catch (JSONException unused) {
                    UpdateTrackingDetailActivity updateTrackingDetailActivity3 = UpdateTrackingDetailActivity.this;
                    updateTrackingDetailActivity3.showSnackBar(updateTrackingDetailActivity3.getResources().getString(R.string.somethingwentwrong), "#D0021B");
                    return;
                }
            }
            UpdateTrackingDetailActivity updateTrackingDetailActivity4 = UpdateTrackingDetailActivity.this;
            updateTrackingDetailActivity4.showSnackBar(updateTrackingDetailActivity4.getResources().getString(R.string.internetconnectionproblem), "#D0021B");
        }
    }
}