Android Open Source - esr-scanner Ps Detail Activity






From Project

Back to project page esr-scanner.

License

The source code is released under:

Apache License

If you think the Android project esr-scanner listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package ch.luklanis.esscan.history;
//from  w ww . j  a v a  2  s.  c  o m
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.NavUtils;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.Toast;

import ch.luklanis.esscan.EsrBaseActivity;
import ch.luklanis.esscan.Intents;
import ch.luklanis.esscan.R;
import ch.luklanis.esscan.codesend.IEsrSender;
import ch.luklanis.esscan.dialogs.CancelOkDialog;

public class PsDetailActivity extends EsrBaseActivity implements Handler.Callback {

    private HistoryManager historyManager;
    private final Handler mDataSentHandler = new Handler(this);

    @Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.activity_ps_detail);

        getActionBar().setDisplayHomeAsUpEnabled(true);

        if (icicle == null) {
            Bundle arguments = new Bundle();
            arguments.putInt(PsDetailFragment.ARG_POSITION,
                    getIntent().getIntExtra(PsDetailFragment.ARG_POSITION, 0));
            PsDetailFragment fragment = new PsDetailFragment();
            fragment.setArguments(arguments);
            getFragmentManager().beginTransaction()
                    .add(R.id.ps_detail_container, fragment)
                    .commit();
        }

        historyManager = new HistoryManager(getApplicationContext());
    }

    @Override
    protected void onResume() {
        super.onResume();

        Intent intent = new Intent(this, HistoryActivity.class);
        intent.putExtra(Intents.History.ITEM_NUMBER,
                getIntent().getIntExtra(PsDetailFragment.ARG_POSITION, ListView.INVALID_POSITION));
        setResult(Activity.RESULT_OK, intent);
    }

    @Override
    protected Handler getDataSentHandler() {
        return mDataSentHandler;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.details_menu, menu);

        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home: {

                int error = savePaymentSlip(this);

                if (error > 0) {
                    setCancelOkAlertDialog(error);
                    return true;
                }

                NavUtils.navigateUpTo(this, new Intent(this, HistoryActivity.class));
                return true;
            }
            case R.id.details_menu_copy_code_row: {
                PsDetailFragment fragment = (PsDetailFragment) getFragmentManager().findFragmentById(
                        R.id.ps_detail_container);

                if (fragment != null) {
                    String completeCode = fragment.getHistoryItem().getResult().getCompleteCode();

                    addCodeRowToClipboard(completeCode);
                }
            }
            break;
            case R.id.details_menu_send_code_row: {
                PsDetailFragment fragment = (PsDetailFragment) getFragmentManager().findFragmentById(
                        R.id.ps_detail_container);

                if (fragment != null) {

                    IEsrSender sender = getEsrSender();

                    if (sender != null) {
                        mSendingProgressDialog.show();

                        fragment.send(PsDetailFragment.SEND_COMPONENT_CODE_ROW, sender);
                    } else {
                        Message message = Message.obtain(mDataSentHandler, R.id.es_send_failed);
                        message.sendToTarget();
                    }
                }
            }
            break;
            default:
                return super.onOptionsItemSelected(item);
        }
        return true;
    }

    private void setCancelOkAlertDialog(int msgId) {
        new CancelOkDialog(msgId).setOkClickListener(new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                finish();
            }
        }).show(getFragmentManager(), "PsDetailActivity.setCancelOkAlertDialog");
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            int error = savePaymentSlip(this);

            if (error > 0) {
                setCancelOkAlertDialog(error);

                return true;
            }
        }

        return super.onKeyDown(keyCode, event);
    }

    public static int savePaymentSlip(Activity activity) {
        PsDetailFragment oldFragment = (PsDetailFragment) activity.getFragmentManager()
                .findFragmentById(R.id.ps_detail_container);

        if (oldFragment != null) {
            return oldFragment.save();
        }

        return 0;
    }

    @Override
    public boolean handleMessage(Message message) {
        int msgId = 0;

        mSendingProgressDialog.dismiss();

        if (message.what == R.id.es_send_succeeded) {
            String filename = getResources().getString(R.string.history_item_sent);
            historyManager.updateHistoryItemFileName((Long) message.obj, filename);

            PsDetailFragment fragment = (PsDetailFragment) getFragmentManager().findFragmentById(R.id.ps_detail_container);

            HistoryItem historyItem = fragment.getHistoryItem();
            historyItem.update(new HistoryItem.Builder(historyItem).setDtaFile(filename).create());

            fragment.updateDtaFilename(fragment.getView());

            msgId = R.string.msg_coderow_sent;
        } else {
            msgId = R.string.msg_coderow_not_sent;
        }

        if (msgId != 0) {
            Toast toast = Toast.makeText(getApplicationContext(), msgId, Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.BOTTOM, 0, 0);
            toast.show();
            return true;
        }

        return false;
    }
}




Java Source Code List

ch.luklanis.android.common.PlatformSupportManager.java
ch.luklanis.android.common.executor.AsyncTaskExecInterface.java
ch.luklanis.android.common.executor.AsyncTaskExecManager.java
ch.luklanis.android.common.executor.DefaultAsyncTaskExecInterface.java
ch.luklanis.android.common.executor.HoneycombAsyncTaskExecInterface.java
ch.luklanis.esscan.BeepManager.java
ch.luklanis.esscan.CaptureActivityHandler.java
ch.luklanis.esscan.CaptureActivity.java
ch.luklanis.esscan.DecodeHandler.java
ch.luklanis.esscan.DecodeThread.java
ch.luklanis.esscan.EsrBaseActivity.java
ch.luklanis.esscan.FinishListener.java
ch.luklanis.esscan.HelpActivity.java
ch.luklanis.esscan.IBase.java
ch.luklanis.esscan.Intents.java
ch.luklanis.esscan.LuminanceSource.java
ch.luklanis.esscan.OcrCharacterHelper.java
ch.luklanis.esscan.OcrInitAsyncTask.java
ch.luklanis.esscan.OcrRecognizeAsyncTask.java
ch.luklanis.esscan.OcrResultFailure.java
ch.luklanis.esscan.OcrResultText.java
ch.luklanis.esscan.OcrResult.java
ch.luklanis.esscan.PlanarYUVLuminanceSource.java
ch.luklanis.esscan.PreferencesActivity.java
ch.luklanis.esscan.ViewfinderView.java
ch.luklanis.esscan.camera.AutoFocusManager.java
ch.luklanis.esscan.camera.CameraConfigurationManager.java
ch.luklanis.esscan.camera.CameraManager.java
ch.luklanis.esscan.camera.PreviewCallback.java
ch.luklanis.esscan.camera.exposure.DefaultExposureInterface.java
ch.luklanis.esscan.camera.exposure.ExposureInterface.java
ch.luklanis.esscan.camera.exposure.ExposureManager.java
ch.luklanis.esscan.camera.exposure.FroyoExposureInterface.java
ch.luklanis.esscan.camera.open.DefaultOpenCameraInterface.java
ch.luklanis.esscan.camera.open.GingerbreadOpenCameraInterface.java
ch.luklanis.esscan.camera.open.OpenCameraInterface.java
ch.luklanis.esscan.camera.open.OpenCameraManager.java
ch.luklanis.esscan.codesend.Crypto.java
ch.luklanis.esscan.codesend.ESRSenderHttp.java
ch.luklanis.esscan.codesend.IEsrSender.java
ch.luklanis.esscan.dialogs.BankProfileDialogFragment.java
ch.luklanis.esscan.dialogs.BankProfileListDialog.java
ch.luklanis.esscan.dialogs.CancelOkDialog.java
ch.luklanis.esscan.dialogs.OkDialog.java
ch.luklanis.esscan.dialogs.OptionalOkDialog.java
ch.luklanis.esscan.history.BankProfile.java
ch.luklanis.esscan.history.DBHelper.java
ch.luklanis.esscan.history.GetHistoryAsyncTask.java
ch.luklanis.esscan.history.HistoryActivity.java
ch.luklanis.esscan.history.HistoryExportUpdateAsyncTask.java
ch.luklanis.esscan.history.HistoryFragment.java
ch.luklanis.esscan.history.HistoryItemAdapter.java
ch.luklanis.esscan.history.HistoryItem.java
ch.luklanis.esscan.history.HistoryManager.java
ch.luklanis.esscan.history.PsDetailActivity.java
ch.luklanis.esscan.history.PsDetailFragment.java
ch.luklanis.esscan.ime.ScannerIME.java
ch.luklanis.esscan.paymentslip.DTAFileCreator.java
ch.luklanis.esscan.paymentslip.EsIbanResult.java
ch.luklanis.esscan.paymentslip.EsIbanValidation.java
ch.luklanis.esscan.paymentslip.EsrResult.java
ch.luklanis.esscan.paymentslip.EsrValidation.java
ch.luklanis.esscan.paymentslip.PsResult.java
ch.luklanis.esscan.paymentslip.PsValidation.java