StorageProcessActivity.java 4.3 KB

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