Add battery optimizations info

This commit is contained in:
Jonas L 2019-02-11 10:47:47 +01:00
parent d41fdc0962
commit 5105282a90
6 changed files with 168 additions and 3 deletions

View file

@ -30,10 +30,8 @@ import android.widget.ArrayAdapter
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Observer
import androidx.navigation.Navigation
import com.google.android.material.snackbar.Snackbar
import io.timelimit.android.R
import io.timelimit.android.data.model.Device
import io.timelimit.android.databinding.FragmentManageDeviceBinding
@ -46,7 +44,6 @@ import io.timelimit.android.livedata.switchMap
import io.timelimit.android.logic.AppLogic
import io.timelimit.android.logic.DefaultAppLogic
import io.timelimit.android.sync.actions.SetDeviceUserAction
import io.timelimit.android.sync.actions.UpdateDeviceNameAction
import io.timelimit.android.ui.main.ActivityViewModel
import io.timelimit.android.ui.main.ActivityViewModelHolder
import io.timelimit.android.ui.main.AuthenticationFab
@ -267,6 +264,12 @@ class ManageDeviceFragment : Fragment(), FragmentWithCustomTitle {
user = userEntry
)
ManageDeviceTroubleshooting.bind(
view = binding.troubleshootingView,
userEntry = userEntry,
lifecycleOwner = this
)
return binding.root
}

View file

@ -0,0 +1,41 @@
/*
* Open TimeLimit Copyright <C> 2019 Jonas Lochmann
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package io.timelimit.android.ui.manage.device.manage
import android.text.method.LinkMovementMethod
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LiveData
import androidx.lifecycle.Observer
import io.timelimit.android.data.model.User
import io.timelimit.android.data.model.UserType
import io.timelimit.android.databinding.ManageDeviceTroubleshootingViewBinding
object ManageDeviceTroubleshooting {
fun bind(
view: ManageDeviceTroubleshootingViewBinding,
userEntry: LiveData<User?>,
lifecycleOwner: LifecycleOwner
) {
view.bateryOptimizationsText.movementMethod = LinkMovementMethod.getInstance()
userEntry.observe(lifecycleOwner, Observer {
val isChild = it?.type == UserType.Child
view.showBatteryOptimizations = isChild
view.showNoChildUser = !isChild
})
}
}