/** ユーザ登録ボタンの処理を行う。 */ @SuppressWarnings({"unchecked", "rawtypes"}) private void doRegistUserButton() { mLogger.d("IN"); // 入力値を取得する。 String userName = mUserNameValue.getText().toString(); String password = mPasswordValue.getText().toString(); // 未入力がある場合 if (StringUtil.isNullOrEmpty(userName) || StringUtil.isNullOrEmpty(password)) { toast(R.string.error_input_all); mLogger.w("OUT(NG)"); return; } // ユーザ登録処理を行う。 // パラメータを生成する。 Bundle params = new Bundle(); params.putString(ParamKey.URL, Url.REGIST_USER); params.putString(ParamKey.USER_NAME, userName); params.putString(ParamKey.USER_PASSWORD, password); // ユーザ登録ローダーを表示する。 getActivity() .getSupportLoaderManager() .restartLoader( LoaderId.REGIST_USER, params, new HttpLoaderCallbacks( getActivity(), new RegistUserOnReceiveResponseListener(), HttpPostLoader.class)); mLogger.d("OUT(OK)"); }
/** キャンセルする。 */ private void doCancel() { mLogger.d("IN"); toast(R.string.error_cancel); // 終了する。 dismiss(); mLogger.d("OUT(OK)"); }
/** 終了ボタンの処理を行う。 */ private void doEndButton() { mLogger.d("IN"); // ダイアログを終了する。 dismiss(); // 呼び出し元画面を終了する。 getActivity().finish(); mLogger.d("OUT(OK)"); }
/** 削除する。 */ private void doDelete() { mLogger.d("IN"); // カテゴリデータ削除確認ダイアログを表示する。 FragmentManager manager = getActivity().getSupportFragmentManager(); CategoryDeleteDialog categoryDeleteDialog = CategoryDeleteDialog.newInstance(mCategoryData); categoryDeleteDialog.show(manager, CategoryDeleteDialog.class.getSimpleName()); // 終了する。 dismiss(); mLogger.d("OUT(OK)"); }
/** * レスポンス受信した時に呼び出される。 * * @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)"); }
/** ログインボタンの処理を行う。 */ private void doLoginButton() { mLogger.d("IN"); // 入力値を取得する。 String userName = mUserNameValue.getText().toString(); String userPassword = mPasswordValue.getText().toString(); // 未入力がある場合 if (StringUtil.isNullOrEmpty(userName) || StringUtil.isNullOrEmpty(userPassword)) { // 終了する。 toast(R.string.error_input_all); mLogger.w("OUT(NG)"); return; } // ログイン処理を行う。 login(userName, userPassword); mLogger.d("OUT(OK)"); }
/** * サービスが起動しているかチェックする。 * * @param context コンテキスト * @param serviceName チェックするサービスクラス * @return チェック結果 true:起動している。 / false:起動していない。 */ public static boolean isServiceRunning(Context context, Class<?> serviceClass) { mLogger.d("IN"); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); // 起動しているサービスのリストを取得する。 List<RunningServiceInfo> services = activityManager.getRunningServices(Integer.MAX_VALUE); // 起動しているサービス数分繰り返す。 for (RunningServiceInfo info : services) { // 位置サービスの場合 if (serviceClass.getCanonicalName().equals(info.service.getClassName())) { mLogger.d("OUT(OK) result=[true]"); return true; } } mLogger.d("OUT(OK) result=[false]"); return false; }
/** ログイン処理を行う。 */ @SuppressWarnings({"unchecked", "rawtypes"}) private void login(String userName, String userPassword) { mLogger.d("IN"); // ログイン処理を行う。 // パラメータを生成する。 Bundle params = new Bundle(); params.putString(ParamKey.URL, Url.LOGIN); params.putString(ParamKey.USER_NAME, userName); params.putString(ParamKey.USER_PASSWORD, userPassword); // ログインローダーをロードする。 getActivity() .getSupportLoaderManager() .restartLoader( LoaderId.LOGIN, params, new HttpLoaderCallbacks( getActivity(), new LoginOnReceiveResponseListener(), HttpPostLoader.class)); mLogger.d("OUT(OK)"); }
/** * 生成した時に呼び出される。 * * @param savedInstanceState 保存した時のインスタンスの状態 * @return ダイアログ */ @Override public Dialog onCreateDialog(Bundle savedInstanceState) { mLogger.d("IN"); // 引数を取得する。 mCategoryData = (CategoryData) getArguments().getSerializable(ExtraKey.CATEGORY_DATA); LayoutInflater inflater = getActivity().getLayoutInflater(); View rootView = inflater.inflate(R.layout.dialog_category_detail, null); mCategoryNameValue = (TextView) rootView.findViewById(R.id.categoryNameValue); mCategoryNameValue.setText(mCategoryData.getName()); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle(R.string.category_detail_dialog_title); builder.setPositiveButton(R.string.dialog_update_button, null); builder.setNeutralButton(R.string.dialog_delete_button, null); builder.setNegativeButton(R.string.dialog_close_button, null); builder.setView(rootView); AlertDialog dialog = builder.create(); dialog.setCanceledOnTouchOutside(false); // ボタン押下でダイアログが閉じないようにリスナーを設定する。 dialog.setOnShowListener( new OnShowListener() { @Override public void onShow(DialogInterface dialog) { ((AlertDialog) dialog) .getButton(Dialog.BUTTON_POSITIVE) .setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { doUpdate(); } }); ((AlertDialog) dialog) .getButton(Dialog.BUTTON_NEUTRAL) .setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { doDelete(); } }); ((AlertDialog) dialog) .getButton(Dialog.BUTTON_NEGATIVE) .setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { doCancel(); } }); } }); mLogger.d("OUT(OUT)"); return dialog; }
/** * 生成した時に呼び出される。 * * @param savedInstanceState 保存した時のインスタンスの状態 * @return ダイアログ */ @SuppressLint("InflateParams") @Override public Dialog onCreateDialog(Bundle savedInstanceState) { mLogger.d("IN"); LayoutInflater inflater = getActivity().getLayoutInflater(); View rootView = inflater.inflate(R.layout.dialog_login, null); // 入力項目を取得する。 mUserNameValue = (EditText) rootView.findViewById(R.id.userNameValue); mPasswordValue = (EditText) rootView.findViewById(R.id.passwordValue); // ログインダイアログを生成する。 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle(R.string.dialog_login_title); builder.setPositiveButton(R.string.dialog_login_button, null); builder.setNeutralButton(R.string.dialog_regist_user_button, null); builder.setNegativeButton(R.string.dialog_end_button, null); builder.setView(rootView); AlertDialog dialog = builder.create(); dialog.setCanceledOnTouchOutside(false); // ボタン押下でダイアログが閉じないようにリスナーを設定する。 dialog.setOnShowListener( new OnShowListener() { @Override public void onShow(DialogInterface dialog) { // ログインボタン ((AlertDialog) dialog) .getButton(Dialog.BUTTON_POSITIVE) .setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { doLoginButton(); } }); // ユーザ登録ボタン ((AlertDialog) dialog) .getButton(Dialog.BUTTON_NEUTRAL) .setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { doRegistUserButton(); } }); // 終了ボタン ((AlertDialog) dialog) .getButton(Dialog.BUTTON_NEGATIVE) .setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { doEndButton(); } }); } }); mLogger.d("OUT(OK)"); return dialog; }