diff --git a/app/src/main/java/jp/juggler/subwaytooter/ActColumnList.kt b/app/src/main/java/jp/juggler/subwaytooter/ActColumnList.kt index 4e7d08f5..05fb7d70 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/ActColumnList.kt +++ b/app/src/main/java/jp/juggler/subwaytooter/ActColumnList.kt @@ -13,11 +13,14 @@ import com.woxthebox.draglistview.DragListView import com.woxthebox.draglistview.swipe.ListSwipeHelper import com.woxthebox.draglistview.swipe.ListSwipeItem import jp.juggler.subwaytooter.api.entity.Acct +import jp.juggler.subwaytooter.api.showApiError import jp.juggler.subwaytooter.column.ColumnEncoder import jp.juggler.subwaytooter.column.ColumnType import jp.juggler.subwaytooter.databinding.ActColumnListBinding import jp.juggler.subwaytooter.databinding.LvColumnListBinding +import jp.juggler.subwaytooter.dialog.DlgConfirm.confirm import jp.juggler.util.backPressed +import jp.juggler.util.coroutine.launchMain import jp.juggler.util.data.JsonObject import jp.juggler.util.data.notZero import jp.juggler.util.data.toJsonArray @@ -113,13 +116,22 @@ class ActColumnList : AppCompatActivity() { ) { // 左にスワイプした(右端に青が見えた) なら要素を削除する if (swipedDirection == ListSwipeItem.SwipeDirection.LEFT) { - val adapterItem = (item.tag as MyViewHolder).lastItem!! - if (adapterItem.json.optBoolean(ColumnEncoder.KEY_DONT_CLOSE, false)) { - showToast(false, R.string.column_has_dont_close_option) - views.listView.resetSwipedViews(null) - return + val adapterItem = (item.tag as MyViewHolder).lastItem ?:return + launchMain { + try{ + if (adapterItem.json.optBoolean(ColumnEncoder.KEY_DONT_CLOSE, false)) { + confirm(R.string.confirm_remove_column_mark_as_dont_close) + } + listAdapter.removeItem(listAdapter.getPositionForItem(adapterItem)) + }catch(ex:Throwable){ + showApiError(ex) + }finally { + try { + views.listView.resetSwipedViews(null) + }catch(_:Throwable) { + } + } } - listAdapter.removeItem(listAdapter.getPositionForItem(adapterItem)) } } }) diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index b654076d..a67c5ba4 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -1188,6 +1188,7 @@ ホスト名に使えない文字が含まれています。[%1$s] 次へ [%1$s, %2$s] サーバ種別はアプリからのユーザ登録に対応していません。 + 保護されたカラムですが、削除しますか? diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 76ccbdf8..b9360844 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1195,4 +1195,5 @@ host name can\'t contains [%1$s]. Next step [%1$s, %2$s] server type does not support user registration from app. + Remove column that mark as \"don\'t close\" ?