Add refresh functionality to connected devices

Useful for ip addr.
This commit is contained in:
Mygod
2018-01-04 15:03:32 +08:00
parent faf5466ced
commit 8872485ae9
2 changed files with 18 additions and 10 deletions

View File

@@ -76,6 +76,7 @@ class MainActivity : AppCompatActivity(), ServiceConnection, Toolbar.OnMenuItemC
arpCache = NetUtils.arp(binder.service.downstream) arpCache = NetUtils.arp(binder.service.downstream)
} else owner = null } else owner = null
notifyDataSetChanged() // recreate everything notifyDataSetChanged() // recreate everything
binding.swipeRefresher.isRefreshing = false
} }
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
@@ -113,6 +114,7 @@ class MainActivity : AppCompatActivity(), ServiceConnection, Toolbar.OnMenuItemC
binding.clients.adapter = adapter binding.clients.adapter = adapter
binding.toolbar.inflateMenu(R.menu.main) binding.toolbar.inflateMenu(R.menu.main)
binding.toolbar.setOnMenuItemClickListener(this) binding.toolbar.setOnMenuItemClickListener(this)
binding.swipeRefresher.setOnRefreshListener { adapter.fetchClients() }
} }
override fun onMenuItemClick(item: MenuItem): Boolean = when (item.itemId) { override fun onMenuItemClick(item: MenuItem): Boolean = when (item.itemId) {

View File

@@ -93,16 +93,22 @@
android:background="#000" android:background="#000"
android:backgroundTint="?android:attr/textColorSecondary"/> android:backgroundTint="?android:attr/textColorSecondary"/>
<android.support.v7.widget.RecyclerView <android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/clients" android:id="@+id/swipeRefresher"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:paddingBottom="8dp"
android:paddingEnd="16dp" <android.support.v7.widget.RecyclerView
android:paddingStart="16dp" android:id="@+id/clients"
android:paddingTop="8dp" android:layout_width="match_parent"
android:clipToPadding="false" android:layout_height="match_parent"
android:scrollbars="vertical" android:paddingBottom="8dp"
tools:listitem="@layout/listitem_client"/> android:paddingEnd="16dp"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:clipToPadding="false"
android:scrollbars="vertical"
tools:listitem="@layout/listitem_client"/>
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout> </LinearLayout>
</layout> </layout>