From 17f5f80948a9726f496c7220ddbfdf048d0b4d52 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Sat, 29 Jun 2019 19:44:49 +0530 Subject: [PATCH 1/2] feat: Delete rooms in the device connect fragment --- .../device/deviceconnect/DeviceConnectFragment.kt | 2 +- .../deviceconnect/DeviceConnectPresenter.kt | 9 +++++++++ .../adapters/recycleradapters/RoomsAdapter.kt | 8 +++++++- .../contract/IDeviceConnectPresenter.kt | 2 ++ .../main/res/drawable/ic_delete_black_24dp.xml | 9 +++++++++ app/src/main/res/layout/room_recycler_layout.xml | 15 +++++++++++++-- app/src/main/res/values/dimens.xml | 5 +++++ 7 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 app/src/main/res/drawable/ic_delete_black_24dp.xml diff --git a/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectFragment.kt b/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectFragment.kt index b373f4b4f3..825030c86c 100644 --- a/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectFragment.kt +++ b/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectFragment.kt @@ -164,7 +164,7 @@ class DeviceConnectFragment : Fragment(), IDeviceConnectView { } var layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) availableRoomsRecyclerView.layoutManager = layoutManager - availableRoomsAdapter = RoomsAdapter(availableRoomsList, context) + availableRoomsAdapter = RoomsAdapter(availableRoomsList, context, deviceConnectPresenter) availableRoomsRecyclerView.adapter = availableRoomsAdapter } diff --git a/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectPresenter.kt b/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectPresenter.kt index 316237f659..6d7475a747 100644 --- a/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectPresenter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/DeviceConnectPresenter.kt @@ -98,6 +98,15 @@ class DeviceConnectPresenter(context: Context, manager: WifiManager) : IDeviceCo deviceConnectView?.showRooms() } + override fun deleteRoom(room: String?) { + realm = Realm.getDefaultInstance() + realm.beginTransaction() + val result = realm.where(RoomsAvailable::class.java).equalTo("room", room).findFirst() + result?.deleteFromRealm() + realm.commitTransaction() + deviceConnectView?.showRooms() + } + override fun addDevice(queryObject: AddDeviceQuery) { roomModel.addDeviceToServer(queryObject) } diff --git a/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/adapters/recycleradapters/RoomsAdapter.kt b/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/adapters/recycleradapters/RoomsAdapter.kt index 3abf90d2ed..39c364631b 100644 --- a/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/adapters/recycleradapters/RoomsAdapter.kt +++ b/app/src/main/java/org/fossasia/susi/ai/device/deviceconnect/adapters/recycleradapters/RoomsAdapter.kt @@ -7,11 +7,13 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import kotlinx.android.synthetic.main.room_recycler_layout.view.room_text +import kotlinx.android.synthetic.main.room_recycler_layout.view.delete_room import org.fossasia.susi.ai.R import org.fossasia.susi.ai.device.DeviceActivity import org.fossasia.susi.ai.device.deviceconnect.DeviceConnectFragment +import org.fossasia.susi.ai.device.deviceconnect.contract.IDeviceConnectPresenter -class RoomsAdapter(private val availableRoomsList: ArrayList, val context: Context?) : RecyclerView.Adapter() { +class RoomsAdapter(private val availableRoomsList: ArrayList, val context: Context?, private val deviceConnectPresenter: IDeviceConnectPresenter) : RecyclerView.Adapter() { override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder { val view = LayoutInflater.from(viewGroup.context).inflate(R.layout.room_recycler_layout, viewGroup, false) @@ -36,6 +38,10 @@ class RoomsAdapter(private val availableRoomsList: ArrayList + + diff --git a/app/src/main/res/layout/room_recycler_layout.xml b/app/src/main/res/layout/room_recycler_layout.xml index 8526b86639..68c931939e 100644 --- a/app/src/main/res/layout/room_recycler_layout.xml +++ b/app/src/main/res/layout/room_recycler_layout.xml @@ -7,16 +7,27 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index d2cb8bbfab..c4f314785f 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -17,6 +17,7 @@ + 0dp 1dp 1dp 45dp @@ -137,4 +138,8 @@ 2dp 20dp 20dp + 1 + 4 + 1 + \ No newline at end of file From 2bd34a77530662132b2c3fabe62ab337b94b2f51 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Mon, 1 Jul 2019 09:33:36 +0530 Subject: [PATCH 2/2] remove weights from dimens --- app/src/main/res/layout/room_recycler_layout.xml | 6 +++--- app/src/main/res/values/dimens.xml | 3 --- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/layout/room_recycler_layout.xml b/app/src/main/res/layout/room_recycler_layout.xml index 68c931939e..d1485bbf89 100644 --- a/app/src/main/res/layout/room_recycler_layout.xml +++ b/app/src/main/res/layout/room_recycler_layout.xml @@ -9,14 +9,14 @@ android:id="@+id/image_tick" android:layout_width="@dimen/width_null" android:layout_height="@dimen/height_room_recycler" - android:layout_weight="@dimen/room_image_weight" + android:layout_weight="1" android:layout_margin="@dimen/padding_large" app:srcCompat="@drawable/ic_home_black_24dp" /> @@ -24,7 +24,7 @@ 2dp 20dp 20dp - 1 - 4 - 1 \ No newline at end of file