StorageActivity.java 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. package epson.print.storage;
  2. import android.app.AlertDialog;
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.DialogInterface;
  6. import android.content.Intent;
  7. import android.content.IntentFilter;
  8. import android.net.ConnectivityManager;
  9. import android.net.NetworkInfo;
  10. import android.os.Bundle;
  11. import android.text.Editable;
  12. import android.text.InputFilter;
  13. import android.text.TextWatcher;
  14. import android.view.View;
  15. import android.widget.Button;
  16. import android.widget.EditText;
  17. import java.util.Random;
  18. import epson.print.ActivityIACommon;
  19. class StorageActivity extends ActivityIACommon {
  20. public interface CancelRequestCallback {
  21. void onCancelRequest(Intent intent);
  22. }
  23. StorageActivity() {
  24. }
  25. protected void onCreate(Bundle bundle) {
  26. super.onCreate(bundle);
  27. StorageSecureStore.initSharedSecureStore(getApplicationContext());
  28. }
  29. public class OverlayProgress {
  30. BroadcastReceiver mCancelReceiver;
  31. int mRequestCode = new Random().nextInt(Integer.MAX_VALUE);
  32. public OverlayProgress() {
  33. setCancelReceiver((BroadcastReceiver) null);
  34. }
  35. public void show() {
  36. show((String) null, (CancelRequestCallback) null);
  37. }
  38. private void show(String str) {
  39. show(str, (CancelRequestCallback) null);
  40. }
  41. private void show(String str, CancelRequestCallback cancelRequestCallback) {
  42. show(str, cancelRequestCallback, true);
  43. }
  44. private void show(String str, CancelRequestCallback cancelRequestCallback, boolean z) {
  45. Intent intent = new Intent(StorageActivity.this, StorageWaitingActivity.class);
  46. intent.putExtra(StorageWaitingActivity.EXTRA_REQUEST_CODE, mRequestCode);
  47. if (str != null) {
  48. intent.putExtra(StorageWaitingActivity.EXTRA_MESSAGE, str);
  49. }
  50. if (cancelRequestCallback != null) {
  51. intent.putExtra(StorageWaitingActivity.EXTRA_CANCEL_ENABLED, true);
  52. registerCancelRequestReceiver(cancelRequestCallback);
  53. }
  54. startActivity(intent);
  55. while (z && !StorageWaitingActivity.bShowing) {
  56. try {
  57. Thread.sleep(200);
  58. } catch (InterruptedException e) {
  59. e.printStackTrace();
  60. }
  61. }
  62. }
  63. private void changeMessage(String str) {
  64. Intent intent = new Intent(StorageWaitingActivity.CHANGE_ACTION);
  65. intent.putExtra(StorageWaitingActivity.EXTRA_REQUEST_CODE, mRequestCode);
  66. intent.putExtra(StorageWaitingActivity.EXTRA_MESSAGE, str);
  67. sendBroadcast(intent);
  68. }
  69. private void registerCancelCallback(CancelRequestCallback cancelRequestCallback) {
  70. Intent intent = new Intent(StorageWaitingActivity.REGISTER_ACTION);
  71. intent.putExtra(StorageWaitingActivity.EXTRA_REQUEST_CODE, mRequestCode);
  72. intent.putExtra(StorageWaitingActivity.EXTRA_CANCEL_ENABLED, true);
  73. registerCancelRequestReceiver(cancelRequestCallback);
  74. sendBroadcast(intent);
  75. }
  76. public void dismiss() {
  77. Intent intent = new Intent(StorageWaitingActivity.DISMISS_ACTION);
  78. intent.putExtra(StorageWaitingActivity.EXTRA_REQUEST_CODE, mRequestCode);
  79. sendBroadcast(intent);
  80. setCancelReceiver((BroadcastReceiver) null);
  81. }
  82. private void setCancelReceiver(BroadcastReceiver broadcastReceiver) {
  83. BroadcastReceiver broadcastReceiver2 = mCancelReceiver;
  84. if (broadcastReceiver2 != null) {
  85. unregisterReceiver(broadcastReceiver2);
  86. }
  87. mCancelReceiver = broadcastReceiver;
  88. }
  89. private void registerCancelRequestReceiver(final CancelRequestCallback cancelRequestCallback) {
  90. C09221 r0 = new BroadcastReceiver() {
  91. public void onReceive(Context context, Intent intent) {
  92. String action = intent.getAction();
  93. int intExtra = intent.getIntExtra(StorageWaitingActivity.EXTRA_REQUEST_CODE, 0);
  94. if (action.equals(StorageWaitingActivity.CANCEL_REQUEST_ACTION) && OverlayProgress.mRequestCode == intExtra) {
  95. cancelRequestCallback.onCancelRequest(intent);
  96. }
  97. }
  98. };
  99. registerReceiver(r0, new IntentFilter(StorageWaitingActivity.CANCEL_REQUEST_ACTION));
  100. setCancelReceiver(r0);
  101. }
  102. }
  103. protected void showErrorDialog(String str) {
  104. showErrorDialog(str, (Intent) null);
  105. }
  106. private void showErrorDialog(int i) {
  107. showErrorDialog(getString(i));
  108. }
  109. private void showConnectionError() {
  110. showErrorDialog(getString(R.string.network_error_mes), new Intent("android.settings.WIRELESS_SETTINGS"));
  111. }
  112. private void showErrorDialog(String str, final Intent intent) {
  113. AlertDialog.Builder builder = new AlertDialog.Builder(this);
  114. builder.setMessage(str);
  115. builder.setCancelable(false);
  116. builder.setPositiveButton(getString(R.string.str_ok), new DialogInterface.OnClickListener() {
  117. public void onClick(DialogInterface dialogInterface, int i) {
  118. dialogInterface.cancel();
  119. Intent intent = intent;
  120. if (intent != null) {
  121. startActivity(intent);
  122. finish();
  123. }
  124. }
  125. });
  126. builder.create().show();
  127. }
  128. private void showErrorDialogAndFinish(String str) {
  129. AlertDialog.Builder builder = new AlertDialog.Builder(this);
  130. builder.setMessage(str);
  131. builder.setCancelable(false);
  132. builder.setPositiveButton(getString(R.string.str_ok), new DialogInterface.OnClickListener() {
  133. public void onClick(DialogInterface dialogInterface, int i) {
  134. dialogInterface.cancel();
  135. finish();
  136. }
  137. });
  138. builder.create().show();
  139. }
  140. abstract class OnVisibilityListener {
  141. public abstract void onVisibilityChanged(int i);
  142. OnVisibilityListener() {
  143. }
  144. }
  145. private void bindClearButton(int i, int i2) {
  146. bindClearButton(i, i2, (OnVisibilityListener) null);
  147. }
  148. private void bindClearButton(int i, int i2, final OnVisibilityListener onVisibilityListener) {
  149. final EditText editText = (EditText) findViewById(i);
  150. final Button button = (Button) findViewById(i2);
  151. editText.addTextChangedListener(new TextWatcher() {
  152. public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
  153. }
  154. public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
  155. }
  156. public void afterTextChanged(Editable editable) {
  157. if (editText.getText().toString().length() > 0) {
  158. button.setVisibility(View.VISIBLE);
  159. } else {
  160. button.setVisibility(View.GONE);
  161. }
  162. OnVisibilityListener onVisibilityListener = onVisibilityListener;
  163. if (onVisibilityListener != null) {
  164. onVisibilityListener.onVisibilityChanged(button.getVisibility());
  165. }
  166. }
  167. });
  168. button.setOnClickListener(new View.OnClickListener() {
  169. public void onClick(View view) {
  170. editText.getText().clear();
  171. }
  172. });
  173. if (editText.getText().toString().length() > 0) {
  174. button.setVisibility(View.VISIBLE);
  175. }
  176. }
  177. public boolean isConnected() {
  178. NetworkInfo activeNetworkInfo = ((ConnectivityManager) getBaseContext().getSystemService("connectivity")).getActiveNetworkInfo();
  179. if (activeNetworkInfo != null) {
  180. return activeNetworkInfo.isConnectedOrConnecting();
  181. }
  182. return false;
  183. }
  184. private void setInputMaxLength(EditText editText, int i) {
  185. editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(i)});
  186. }
  187. private void setTitle(String str) {
  188. super.setTitle(str);
  189. }
  190. }