OverviewFragment simplify
This commit is contained in:
parent
a15522fd50
commit
f2e5ef76aa
|
@ -65,8 +65,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers
|
|||
import io.reactivex.disposables.CompositeDisposable
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import kotlinx.android.synthetic.main.overview_buttons_layout.*
|
||||
import kotlinx.android.synthetic.main.overview_fragment.overview_notifications
|
||||
import kotlinx.android.synthetic.main.overview_fragment_nsclient.*
|
||||
import kotlinx.android.synthetic.main.overview_fragment.*
|
||||
import kotlinx.android.synthetic.main.overview_graphs_layout.*
|
||||
import kotlinx.android.synthetic.main.overview_info_layout.*
|
||||
import kotlinx.android.synthetic.main.overview_loop_pumpstatus_layout.*
|
||||
|
@ -138,20 +137,21 @@ class OverviewFragment : DaggerFragment(), View.OnClickListener, OnLongClickList
|
|||
dm = DisplayMetrics()
|
||||
activity?.windowManager?.defaultDisplay?.getMetrics(dm)
|
||||
|
||||
val screenWidth = dm.widthPixels
|
||||
val screenHeight = dm.heightPixels
|
||||
smallWidth = screenWidth <= Constants.SMALL_WIDTH
|
||||
smallHeight = screenHeight <= Constants.SMALL_HEIGHT
|
||||
val landscape = screenHeight < screenWidth
|
||||
|
||||
return inflater.inflate(skinProvider.activeSkin().overviewLayout(landscape, resourceHelper.gb(R.bool.isTablet), smallHeight), container, false)
|
||||
return inflater.inflate(R.layout.overview_fragment, container, false)
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
// pre-process landscape mode
|
||||
skinProvider.activeSkin().preProcessLandscapeOverviewLayout(dm, view, resourceHelper.gb(R.bool.isTablet))
|
||||
val screenWidth = dm.widthPixels
|
||||
val screenHeight = dm.heightPixels
|
||||
smallWidth = screenWidth <= Constants.SMALL_WIDTH
|
||||
smallHeight = screenHeight <= Constants.SMALL_HEIGHT
|
||||
val landscape = screenHeight < screenWidth
|
||||
|
||||
skinProvider.activeSkin().preProcessLandscapeOverviewLayout(dm, view, landscape, resourceHelper.gb(R.bool.isTablet), smallHeight)
|
||||
nsclient_layout?.visibility = config.NSCLIENT.toVisibility()
|
||||
|
||||
overview_pumpstatus?.setBackgroundColor(resourceHelper.gc(R.color.colorInitializingBorder))
|
||||
|
||||
|
|
|
@ -11,11 +11,4 @@ class SkinButtonsOn @Inject constructor(private val config: Config) : SkinInterf
|
|||
override val description: Int get() = R.string.buttonson_description
|
||||
override val mainGraphHeight: Int get() = 200
|
||||
override val secondaryGraphHeight: Int get() = 100
|
||||
|
||||
override fun overviewLayout(isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean): Int =
|
||||
when {
|
||||
config.NSCLIENT -> R.layout.overview_fragment_nsclient
|
||||
else -> R.layout.overview_fragment
|
||||
}
|
||||
|
||||
}
|
|
@ -1,5 +1,8 @@
|
|||
package info.nightscout.androidaps.skins
|
||||
|
||||
import android.util.DisplayMetrics
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import javax.inject.Inject
|
||||
|
@ -12,11 +15,8 @@ class SkinClassic @Inject constructor(private val config: Config): SkinInterface
|
|||
override val mainGraphHeight: Int get() = 200
|
||||
override val secondaryGraphHeight: Int get() = 100
|
||||
|
||||
override fun overviewLayout(isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean): Int =
|
||||
when {
|
||||
config.NSCLIENT -> R.layout.overview_fragment_nsclient
|
||||
isSmallHeight || isLandscape -> R.layout.overview_fragment_landscape
|
||||
else -> R.layout.overview_fragment
|
||||
}
|
||||
|
||||
override fun preProcessLandscapeOverviewLayout(dm: DisplayMetrics, view: View, isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean) {
|
||||
super.preProcessLandscapeOverviewLayout(dm, view, isLandscape, isTablet, isSmallHeight)
|
||||
if (!config.NSCLIENT && (isSmallHeight || isLandscape)) moveButtonsLayout(view as LinearLayout)
|
||||
}
|
||||
}
|
|
@ -17,13 +17,10 @@ interface SkinInterface {
|
|||
val mainGraphHeight: Int // in dp
|
||||
val secondaryGraphHeight: Int // in dp
|
||||
|
||||
@LayoutRes
|
||||
fun overviewLayout(isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean): Int
|
||||
|
||||
@LayoutRes
|
||||
fun actionsLayout(isLandscape: Boolean, isSmallWidth: Boolean): Int = R.layout.actions_fragment
|
||||
|
||||
fun preProcessLandscapeOverviewLayout(dm: DisplayMetrics, view: View, isTablet: Boolean) {
|
||||
fun preProcessLandscapeOverviewLayout(dm: DisplayMetrics, view: View, isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean) {
|
||||
// pre-process landscape mode
|
||||
val screenWidth = dm.widthPixels
|
||||
val screenHeight = dm.heightPixels
|
||||
|
@ -81,4 +78,11 @@ interface SkinInterface {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun moveButtonsLayout(root: LinearLayout) {
|
||||
val buttonsLayout = root.findViewById<LinearLayout>(R.id.buttons_layout)
|
||||
root.removeView(buttonsLayout)
|
||||
val innerLayout = root.findViewById<LinearLayout>(R.id.inner_layout)
|
||||
innerLayout.addView(buttonsLayout)
|
||||
}
|
||||
}
|
|
@ -1,5 +1,8 @@
|
|||
package info.nightscout.androidaps.skins
|
||||
|
||||
import android.util.DisplayMetrics
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import javax.inject.Inject
|
||||
|
@ -12,11 +15,8 @@ class SkinLargeDisplay @Inject constructor(private val config: Config): SkinInte
|
|||
override val mainGraphHeight: Int get() = 400
|
||||
override val secondaryGraphHeight: Int get() = 150
|
||||
|
||||
override fun overviewLayout(isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean): Int =
|
||||
when {
|
||||
config.NSCLIENT -> R.layout.overview_fragment_nsclient
|
||||
isSmallHeight || isLandscape -> R.layout.overview_fragment_landscape
|
||||
else -> R.layout.overview_fragment
|
||||
}
|
||||
|
||||
override fun preProcessLandscapeOverviewLayout(dm: DisplayMetrics, view: View, isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean) {
|
||||
super.preProcessLandscapeOverviewLayout(dm, view, isLandscape, isTablet, isSmallHeight)
|
||||
if (!config.NSCLIENT && (isSmallHeight || isLandscape)) moveButtonsLayout(view as LinearLayout)
|
||||
}
|
||||
}
|
|
@ -2,6 +2,7 @@ package info.nightscout.androidaps.skins
|
|||
|
||||
import android.util.DisplayMetrics
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import info.nightscout.androidaps.Config
|
||||
import info.nightscout.androidaps.R
|
||||
import javax.inject.Inject
|
||||
|
@ -14,18 +15,13 @@ class SkinLowRes @Inject constructor(private val config: Config) : SkinInterface
|
|||
override val mainGraphHeight: Int get() = 200
|
||||
override val secondaryGraphHeight: Int get() = 100
|
||||
|
||||
override fun overviewLayout(isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean): Int =
|
||||
when {
|
||||
config.NSCLIENT -> R.layout.overview_fragment_nsclient
|
||||
isLandscape -> R.layout.overview_fragment_landscape
|
||||
else -> R.layout.overview_fragment
|
||||
}
|
||||
|
||||
override fun actionsLayout(isLandscape: Boolean, isSmallWidth: Boolean): Int =
|
||||
when {
|
||||
isLandscape -> R.layout.actions_fragment
|
||||
else -> R.layout.actions_fragment_lowres
|
||||
}
|
||||
|
||||
override fun preProcessLandscapeOverviewLayout(dm: DisplayMetrics, view: View, isTablet: Boolean) {}
|
||||
override fun preProcessLandscapeOverviewLayout(dm: DisplayMetrics, view: View, isLandscape: Boolean, isTablet: Boolean, isSmallHeight: Boolean) {
|
||||
if (!config.NSCLIENT && isLandscape) moveButtonsLayout(view as LinearLayout)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,11 +8,13 @@
|
|||
|
||||
<ScrollView
|
||||
android:id="@+id/overview_toppart_scrollbar"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp">
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
tools:ignore="UselessParent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/inner_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
@ -28,12 +30,59 @@
|
|||
|
||||
<include layout="@layout/overview_statuslights_layout" />
|
||||
|
||||
<com.google.android.flexbox.FlexboxLayout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/nsclient_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/colorControlHighlight"
|
||||
app:alignContent="stretch"
|
||||
app:alignItems="stretch"
|
||||
app:flexDirection="row"
|
||||
app:flexWrap="wrap"
|
||||
app:justifyContent="center">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/overview_pump"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="4sp"
|
||||
android:paddingEnd="4sp"
|
||||
android:text="Pump: running"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/overview_openaps"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingStart="4sp"
|
||||
android:paddingEnd="4sp"
|
||||
android:text="OAPS: 3 min ago"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/overview_uploader"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingStart="4sp"
|
||||
android:paddingEnd="4sp"
|
||||
android:text="UPLD: 84%"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
</com.google.android.flexbox.FlexboxLayout>
|
||||
|
||||
<include layout="@layout/overview_graphs_layout" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
<include layout="@layout/overview_buttons_layout" />
|
||||
<include
|
||||
android:id="@+id/buttons_layout"
|
||||
layout="@layout/overview_buttons_layout" />
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
tools:context=".plugins.general.overview.OverviewFragment">
|
||||
|
||||
<ScrollView
|
||||
android:id="@+id/overview_toppart_scrollbar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
tools:ignore="UselessParent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/overview_notifications"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<include layout="@layout/overview_loop_pumpstatus_layout" />
|
||||
|
||||
<include layout="@layout/overview_info_layout" />
|
||||
|
||||
<include layout="@layout/overview_statuslights_layout" />
|
||||
|
||||
<include layout="@layout/overview_graphs_layout" />
|
||||
|
||||
<include layout="@layout/overview_buttons_layout" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
</LinearLayout>
|
|
@ -1,83 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
tools:context=".plugins.general.overview.OverviewFragment">
|
||||
|
||||
<ScrollView
|
||||
android:id="@+id/overview_toppart_scrollbar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/overview_notifications"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<include layout="@layout/overview_loop_pumpstatus_layout" />
|
||||
|
||||
<include layout="@layout/overview_info_layout" />
|
||||
|
||||
<include layout="@layout/overview_statuslights_layout" />
|
||||
|
||||
<com.google.android.flexbox.FlexboxLayout xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/colorControlHighlight"
|
||||
app:alignContent="stretch"
|
||||
app:alignItems="stretch"
|
||||
app:flexDirection="row"
|
||||
app:flexWrap="wrap"
|
||||
app:justifyContent="center">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/overview_pump"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="4sp"
|
||||
android:paddingEnd="4sp"
|
||||
android:text="Pump: running"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/overview_openaps"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingStart="4sp"
|
||||
android:paddingEnd="4sp"
|
||||
android:text="OAPS: 3 min ago"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/overview_uploader"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingStart="4sp"
|
||||
android:paddingEnd="4sp"
|
||||
android:text="UPLD: 84%"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="16sp" />
|
||||
|
||||
</com.google.android.flexbox.FlexboxLayout>
|
||||
|
||||
<include layout="@layout/overview_graphs_layout" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
<include layout="@layout/overview_buttons_layout" />
|
||||
|
||||
</LinearLayout>
|
Loading…
Reference in a new issue