StorageProcessActivity.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package com.epson.iprint.storage;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.graphics.Typeface;
  5. import android.os.Bundle;
  6. import android.view.Menu;
  7. import android.view.MenuItem;
  8. import android.widget.TextView;
  9. import com.epson.mobilephone.common.wifidirect.WiFiDirectManager;
  10. import epson.print.R;
  11. public abstract class StorageProcessActivity extends StorageActivity {
  12. public static final String EXTRA_UPLOADFILE_LIST = "Extra.Uploadfile.List";
  13. private static final String StorageServiceNameKey = "storage.service.name";
  14. private boolean bEnableSighIn = true;
  15. private String mServerName;
  16. private StorageServiceClient mStorageServiceClient;
  17. public enum ProcessType {
  18. DOWNLOAD,
  19. UPLOAD
  20. }
  21. public enum SignInStatus {
  22. SIGNED_IN,
  23. SIGNED_OUT
  24. }
  25. private abstract void onSignInStatus(SignInStatus signInStatus);
  26. private abstract void onUpdateProcessView();
  27. public /* bridge */ /* synthetic */ boolean isConnected() {
  28. return super.isConnected();
  29. }
  30. public static Intent getProcessIntent(Context context, String str, ProcessType processType) {
  31. if (processType == ProcessType.DOWNLOAD) {
  32. return null;
  33. }
  34. Intent intent = new Intent(context, StorageProcessUploadActivity.class);
  35. setCommonExtra(intent, str);
  36. return intent;
  37. }
  38. protected static void setCommonExtra(Intent intent, String str) {
  39. intent.putExtra(StorageServiceNameKey, str);
  40. }
  41. protected void onCreate(Bundle bundle) {
  42. super.onCreate(bundle);
  43. init();
  44. }
  45. protected void onStart() {
  46. super.onStart();
  47. updateSignInStatus();
  48. if (this.mStorageServiceClient.isSignedIn(this)) {
  49. onUpdateProcessView();
  50. }
  51. }
  52. protected void onResume() {
  53. super.onResume();
  54. updateSignInStatus();
  55. }
  56. public StorageServiceClient getStorageClient() {
  57. return this.mStorageServiceClient;
  58. }
  59. private void onSignIn() {
  60. startActivity(StorageSignInActivity.getStartIntent(this, this.mServerName, this.mStorageServiceClient.getStorageServiceName(this)));
  61. }
  62. private void onSignOut() {
  63. this.mStorageServiceClient.revokeSignedInData(this);
  64. updateSignInStatus();
  65. }
  66. private void init() {
  67. String stringExtra = getIntent().getStringExtra(StorageServiceNameKey);
  68. this.mServerName = stringExtra;
  69. this.mStorageServiceClient = StorageServiceClient.getClient(stringExtra);
  70. }
  71. private void updateSignInRequest(SignInStatus signInStatus) {
  72. TextView textView = (TextView) findViewById(16908292);
  73. if (signInStatus == SignInStatus.SIGNED_IN) {
  74. textView.setVisibility(8);
  75. return;
  76. }
  77. textView.setText(getString(R.string.sign_in_request));
  78. textView.setTypeface((Typeface) null, 1);
  79. textView.setTextSize(18.0f);
  80. textView.setVisibility(0);
  81. }
  82. public void updateSignInStatus() {
  83. SignInStatus signInStatus;
  84. WiFiDirectManager.setPriorityToSimpleAP(this, false);
  85. if (this.mStorageServiceClient.isSignedIn(this)) {
  86. signInStatus = SignInStatus.SIGNED_IN;
  87. } else {
  88. signInStatus = SignInStatus.SIGNED_OUT;
  89. }
  90. invalidateOptionsMenu();
  91. updateSignInRequest(signInStatus);
  92. onSignInStatus(signInStatus);
  93. }
  94. private void setSignInButtonEnabled(boolean z) {
  95. this.bEnableSighIn = z;
  96. invalidateOptionsMenu();
  97. }
  98. public boolean onOptionsItemSelected(MenuItem menuItem) {
  99. switch (menuItem.getItemId()) {
  100. case R.id.menu_signin /*2131231253*/:
  101. onSignIn();
  102. return true;
  103. case R.id.menu_signout /*2131231254*/:
  104. onSignOut();
  105. return true;
  106. default:
  107. return super.onOptionsItemSelected(menuItem);
  108. }
  109. }
  110. public boolean onCreateOptionsMenu(Menu menu) {
  111. getMenuInflater().inflate(R.C2138menu.menu_sign_inout, menu);
  112. if (this.mStorageServiceClient.isSignedIn(this)) {
  113. menu.removeItem(R.id.menu_signin);
  114. menu.findItem(R.id.menu_signout).setEnabled(this.bEnableSighIn);
  115. } else {
  116. menu.removeItem(R.id.menu_signout);
  117. menu.findItem(R.id.menu_signin).setEnabled(this.bEnableSighIn);
  118. }
  119. return super.onCreateOptionsMenu(menu);
  120. }
  121. }