OSDN Git Service

Merge remote-tracking branch 'origin/TokenAuthentication'
[sharp4k/CUTEn.git] / CUTEn / src / jp / ac / titech / sharp4k / cuten / LectureFolderActivity.java
index a40b0a5..e0da301 100644 (file)
@@ -15,6 +15,7 @@ import jp.ac.titech.sharp4k.cuten.util.XmlUtility;
 import jp.ac.titech.sharp4k.cuten.R;
 
 import android.app.AlertDialog;
+import android.app.ProgressDialog;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.database.sqlite.SQLiteDatabase;
@@ -128,9 +129,9 @@ public class LectureFolderActivity extends BaseMenuActivity implements
 
        // 削除することのできないデフォルトのフォルダーのインスタンス。デフォルトであることの確認や、ダウンロードの際の宛先として使える?
        private Folder defaultFolder;
-
-       // 通信中に立てるフラ
-       boolean connect = false;
+       
+       // プログレスダイアロ
+       ProgressDialog pDialog;
 
        // ExpandableListViewの内部を構成するアダプター。
        BaseExpandableListAdapter listAdapter;
@@ -192,12 +193,7 @@ public class LectureFolderActivity extends BaseMenuActivity implements
                moveBtn.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
-                               if (!connect) {
                                        startDownloadActivity();
-                               } else {
-                                       Toast.makeText(LectureFolderActivity.this,
-                                                       "サーバと通信中だお!ちょっとまってね!", Toast.LENGTH_SHORT).show();
-                               }
                        }
                });
 
@@ -215,7 +211,7 @@ public class LectureFolderActivity extends BaseMenuActivity implements
                                if (noLectures()) {
                                        showAlertDialog("先に講義を追加してね☆");
                                } else {
-                                       connect = true;
+                                       showProgressDialog("サーバにアクセスしています・・・");
                                        updateTaskInfo();
                                }
                        }
@@ -720,9 +716,9 @@ public class LectureFolderActivity extends BaseMenuActivity implements
 
        // 通信スレッド終了後に呼ばれるメソッド
        public void postExecute(String result) {
+               dismissProgressDialog();
                if (result != null) {
                        jsonParse(result);
-                       connect = false;
                } else {
                        showAlertDialog("サーバからデータを取得できませんでした");
                }
@@ -766,21 +762,6 @@ public class LectureFolderActivity extends BaseMenuActivity implements
                }
        }
 
-       // サーバと通信中バックボタンを無効化する
-       @Override
-       public boolean dispatchKeyEvent(KeyEvent e) {
-               if (connect) {
-                       if (e.getAction() == KeyEvent.ACTION_DOWN) {
-                               if (e.getKeyCode() == KeyEvent.KEYCODE_BACK) {
-                                       Toast.makeText(this, "サーバと通信中だお!ちょっとまってね!",
-                                                       Toast.LENGTH_SHORT).show();
-                                       return true;
-                               }
-                       }
-               }
-               return super.dispatchKeyEvent(e);
-       }
-
        // 講義が選択されているか判定する
        private boolean noLectures() {
                if (defaultFolder.getLectures().size() > 0) {
@@ -792,5 +773,19 @@ public class LectureFolderActivity extends BaseMenuActivity implements
                }
                return true;
        }
-
+       
+       // プログレスダイアログ(サーバとの通信中に表示)
+       public void showProgressDialog(String message) {
+               pDialog = new ProgressDialog(this);
+               pDialog.setTitle("通信中");
+               pDialog.setMessage(message);
+               pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
+               pDialog.setCancelable(false);
+               pDialog.show();
+       }
+       
+       // プログレスダイアログを非表示にする
+               public void dismissProgressDialog() {
+                       pDialog.dismiss();
+               }
 }