StorageWaitingActivity.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package com.epson.iprint.storage;
  2. import android.app.Activity;
  3. import android.app.AlertDialog;
  4. import android.app.Dialog;
  5. import android.content.BroadcastReceiver;
  6. import android.content.Context;
  7. import android.content.DialogInterface;
  8. import android.content.Intent;
  9. import android.content.IntentFilter;
  10. import android.os.Bundle;
  11. import android.view.View;
  12. import android.widget.Button;
  13. import android.widget.TextView;
  14. import epson.print.R;
  15. public class StorageWaitingActivity extends Activity {
  16. static String CANCEL_REQUEST_ACTION = "StorageProgressActivity.CancelRequestAction";
  17. static String CHANGE_ACTION = "StorageProgressActivity.ChangeAction";
  18. static String DISMISS_ACTION = "StorageProgressActivity.DismissAction";
  19. static String EXTRA_CANCEL_ENABLED = "StorageProgressActivity.ExtraCancelEnabled";
  20. static String EXTRA_MESSAGE = "StorageProgressActivity.ExtraMessage";
  21. static String EXTRA_REQUEST_CODE = "StorageProgressActivity.ExtraRequestCode";
  22. static String REGISTER_ACTION = "StorageProgressActivity.RegisterAction";
  23. public static boolean bShowing = false;
  24. BroadcastReceiver mBroadcastReceiver;
  25. Button mCancelButton;
  26. TextView mMessageText;
  27. int mRequestCode;
  28. public void onBackPressed() {
  29. }
  30. protected void onCreate(Bundle bundle) {
  31. super.onCreate(bundle);
  32. setContentView(R.layout.storage_progress);
  33. Intent intent = getIntent();
  34. registerBroadcastReceiver(intent);
  35. setMessage(intent);
  36. setCancelRequest(intent);
  37. }
  38. protected void onDestroy() {
  39. unregisterReceiver(this.mBroadcastReceiver);
  40. super.onDestroy();
  41. }
  42. private void registerBroadcastReceiver(Intent intent) {
  43. this.mRequestCode = intent.getIntExtra(EXTRA_REQUEST_CODE, 0);
  44. this.mBroadcastReceiver = new BroadcastReceiver() {
  45. public void onReceive(Context context, Intent intent) {
  46. String action = intent.getAction();
  47. if (StorageWaitingActivity.this.mRequestCode == intent.getIntExtra(StorageWaitingActivity.EXTRA_REQUEST_CODE, 0)) {
  48. if (action.equals(StorageWaitingActivity.DISMISS_ACTION)) {
  49. StorageWaitingActivity.this.finish();
  50. } else if (action.equals(StorageWaitingActivity.CHANGE_ACTION)) {
  51. StorageWaitingActivity.this.setMessage(intent);
  52. } else if (action.equals(StorageWaitingActivity.REGISTER_ACTION)) {
  53. StorageWaitingActivity.this.setCancelRequest(intent);
  54. }
  55. }
  56. }
  57. };
  58. IntentFilter intentFilter = new IntentFilter();
  59. intentFilter.addAction(DISMISS_ACTION);
  60. intentFilter.addAction(CHANGE_ACTION);
  61. intentFilter.addAction(REGISTER_ACTION);
  62. registerReceiver(this.mBroadcastReceiver, intentFilter);
  63. }
  64. private Dialog createCancelDialog() {
  65. AlertDialog.Builder builder = new AlertDialog.Builder(this);
  66. builder.setMessage(getString(R.string.str_msg_scan_cancel));
  67. builder.setCancelable(false);
  68. builder.setPositiveButton(getString(R.string.str_yes), new DialogInterface.OnClickListener() {
  69. public void onClick(DialogInterface dialogInterface, int i) {
  70. StorageWaitingActivity.this.mCancelButton.setEnabled(false);
  71. StorageWaitingActivity.this.mMessageText.setText(StorageWaitingActivity.this.getString(R.string.EPS_PRNST_CANCELLING_MSG));
  72. Intent intent = new Intent(StorageWaitingActivity.CANCEL_REQUEST_ACTION);
  73. intent.putExtra(StorageWaitingActivity.EXTRA_REQUEST_CODE, StorageWaitingActivity.this.mRequestCode);
  74. StorageWaitingActivity.this.sendBroadcast(intent);
  75. dialogInterface.cancel();
  76. }
  77. });
  78. builder.setNegativeButton(getString(R.string.str_no), new DialogInterface.OnClickListener() {
  79. public void onClick(DialogInterface dialogInterface, int i) {
  80. StorageWaitingActivity.this.mCancelButton.setEnabled(true);
  81. dialogInterface.cancel();
  82. }
  83. });
  84. return builder.create();
  85. }
  86. private void setCancelRequest(Intent intent) {
  87. this.mCancelButton = (Button) findViewById(R.id.cancelButton);
  88. this.mCancelButton.setText(getString(R.string.str_cancel));
  89. if (intent.getBooleanExtra(EXTRA_CANCEL_ENABLED, false)) {
  90. this.mCancelButton.setOnClickListener(new View.OnClickListener() {
  91. public void onClick(View view) {
  92. StorageWaitingActivity.this.createCancelDialog().show();
  93. }
  94. });
  95. this.mCancelButton.setVisibility(0);
  96. return;
  97. }
  98. this.mCancelButton.setVisibility(8);
  99. }
  100. private void setMessage(Intent intent) {
  101. this.mMessageText = (TextView) findViewById(R.id.messageText);
  102. String stringExtra = intent.getStringExtra(EXTRA_MESSAGE);
  103. if (stringExtra != null) {
  104. this.mMessageText.setText(stringExtra);
  105. this.mMessageText.setVisibility(0);
  106. return;
  107. }
  108. this.mMessageText.setVisibility(8);
  109. }
  110. protected void onResume() {
  111. super.onResume();
  112. bShowing = true;
  113. }
  114. protected void onPause() {
  115. super.onPause();
  116. bShowing = false;
  117. }
  118. }