예제 #1
0
    /**
     * レスポンス受信した時に呼び出される。
     *
     * @param response レスポンス文字列
     * @param bundle バンドル
     */
    @Override
    public void onReceive(String response, Bundle bundle) {
      mLogger.d("IN response=[" + response + "]");

      try {
        JSONObject json = new JSONObject(response);

        // ステータスを取得する。
        boolean status = json.getBoolean(ParamKey.STATUS);

        // 登録成功の場合
        if (status) {
          // ユーザデータを生成する。
          UserData userData = new UserData();

          userData.setId(json.getLong(ParamKey.USER_ID));
          userData.setName(json.getString(ParamKey.USER_NAME));
          userData.setPassword(json.getString(ParamKey.USER_PASSWORD));
          userData.setUpdateTime(json.getLong(ParamKey.USER_UPDATE_TIME));

          // ルーム一覧画面を表示する。
          Intent intent = new Intent(getActivity(), RoomListActivity.class);
          intent.putExtra(ExtraKey.USER_DATA, userData);
          startActivity(intent);

          // 終了する。
          mHandler.post(
              new Runnable() {
                @Override
                public void run() {
                  // ダイアログを終了する。
                  dismiss();

                  // 呼び出し元画面を終了する。
                  getActivity().finish();
                }
              });

          // エラーの場合
        } else {
          toast(R.string.error_regist_user);
        }
      } catch (JSONException e) {
        mLogger.e(e);
        toast(R.string.error_response);
      }

      mLogger.d("OUT(OK)");
    }