StorageSignInActivity.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. package com.epson.iprint.storage;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.os.AsyncTask;
  5. import android.os.Bundle;
  6. import android.view.Menu;
  7. import android.view.MenuItem;
  8. import android.widget.EditText;
  9. import com.epson.iprint.storage.StorageActivity;
  10. import com.epson.iprint.storage.box.BoxNetSignInActivity;
  11. import com.epson.iprint.storage.dropbox.DropboxV2SignInActivity;
  12. import com.epson.iprint.storage.evernote.EvernoteSignInActivity;
  13. import com.epson.iprint.storage.gdrivev3.GoogleV3UploadSignInActivity;
  14. import com.epson.iprint.storage.onedrive.OneDriveSignInActivity;
  15. import epson.print.R;
  16. public abstract class StorageSignInActivity extends StorageActivity {
  17. private static final String EXTRA_SERVER_NAME = "StorageSignInActivity.ServerName";
  18. private final int DEFAULT_INPUT_MAX_LENGTH = 256;
  19. private BasicSignIn mBasicSignIn;
  20. private StorageActivity.OverlayProgress mProgressUntilOnDestroy;
  21. public interface BasicSignIn {
  22. boolean signInBackground(String str, String str2);
  23. }
  24. private int getMaxLengthUsername() {
  25. return 256;
  26. }
  27. public abstract BasicSignIn getBasicSignIn();
  28. protected int getMaxLengthPassword() {
  29. return 256;
  30. }
  31. public /* bridge */ /* synthetic */ boolean isConnected() {
  32. return super.isConnected();
  33. }
  34. private static Class<?> getActivityClass(String str) {
  35. if (str.equals(StorageServiceClient.STORAGE_GOOGLEDRIVE)) {
  36. return GoogleV3UploadSignInActivity.class;
  37. }
  38. if (str.equals(StorageServiceClient.STORAGE_DROPBOX)) {
  39. return DropboxV2SignInActivity.class;
  40. }
  41. if (str.equals(StorageServiceClient.STORAGE_BOX)) {
  42. return BoxNetSignInActivity.class;
  43. }
  44. if (str.equals(StorageServiceClient.STORAGE_EVERNOTE)) {
  45. return EvernoteSignInActivity.class;
  46. }
  47. if (str.equals(StorageServiceClient.STORAGE_ONEDRIVE)) {
  48. return OneDriveSignInActivity.class;
  49. }
  50. return null;
  51. }
  52. public static Intent getStartIntent(Context context, String str, String str2) {
  53. Intent intent = new Intent(context, getActivityClass(str));
  54. intent.putExtra(EXTRA_SERVER_NAME, str2);
  55. return intent;
  56. }
  57. protected void onCreate(Bundle bundle) {
  58. super.onCreate(bundle);
  59. BasicSignIn basicSignIn = getBasicSignIn();
  60. if (basicSignIn != null) {
  61. onInitBasicSignIn(basicSignIn);
  62. }
  63. }
  64. protected void onDestroy() {
  65. StorageActivity.OverlayProgress overlayProgress = this.mProgressUntilOnDestroy;
  66. if (overlayProgress != null) {
  67. overlayProgress.dismiss();
  68. this.mProgressUntilOnDestroy = null;
  69. }
  70. super.onDestroy();
  71. }
  72. protected void onInitBasicSignIn(BasicSignIn basicSignIn) {
  73. this.mBasicSignIn = basicSignIn;
  74. setContentView((int) R.layout.login_screen_layout);
  75. setActionBar(getIntent().getStringExtra(EXTRA_SERVER_NAME), true);
  76. setInputMaxLength((EditText) findViewById(R.id.login_username_content), getMaxLengthUsername());
  77. setInputMaxLength((EditText) findViewById(R.id.login_password_content), getMaxLengthPassword());
  78. bindClearButton(R.id.login_username_content, R.id.clear_id_btn);
  79. bindClearButton(R.id.login_password_content, R.id.clear_password_btn);
  80. }
  81. protected void showLoginError() {
  82. showErrorDialog((int) R.string.authenticate_error_mes);
  83. }
  84. protected void showLoginErrorAndFinish() {
  85. showErrorDialogAndFinish(getString(R.string.authenticate_error_mes));
  86. }
  87. class BasicSignInTask extends AsyncTask<Void, Void, Boolean> {
  88. private String mPassword;
  89. private String mUserName;
  90. StorageActivity.OverlayProgress progress;
  91. BasicSignInTask() {
  92. this.mUserName = ((EditText) StorageSignInActivity.this.findViewById(R.id.login_username_content)).getText().toString();
  93. this.mPassword = ((EditText) StorageSignInActivity.this.findViewById(R.id.login_password_content)).getText().toString();
  94. }
  95. protected Boolean doInBackground(Void... voidArr) {
  96. this.progress = new StorageActivity.OverlayProgress();
  97. this.progress.show();
  98. return Boolean.valueOf(StorageSignInActivity.this.mBasicSignIn.signInBackground(this.mUserName, this.mPassword));
  99. }
  100. protected void onPostExecute(Boolean bool) {
  101. if (!bool.booleanValue()) {
  102. StorageSignInActivity.this.showLoginError();
  103. this.progress.dismiss();
  104. return;
  105. }
  106. this.progress.dismiss();
  107. StorageSignInActivity.this.finish();
  108. }
  109. }
  110. public boolean onOptionsItemSelected(MenuItem menuItem) {
  111. if (menuItem.getItemId() != R.id.menu_signin) {
  112. return super.onOptionsItemSelected(menuItem);
  113. }
  114. new BasicSignInTask().execute(new Void[0]);
  115. return true;
  116. }
  117. public boolean onCreateOptionsMenu(Menu menu) {
  118. getMenuInflater().inflate(R.C2138menu.menu_sign_inout, menu);
  119. menu.removeItem(R.id.menu_signout);
  120. return super.onCreateOptionsMenu(menu);
  121. }
  122. }