Skip to content

Commit

Permalink
init ui for bedtime mode
Browse files Browse the repository at this point in the history
  • Loading branch information
nethical6 committed Jan 31, 2025
1 parent 6bf9c36 commit 8f57d1c
Show file tree
Hide file tree
Showing 5 changed files with 274 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import androidx.core.view.WindowInsetsCompat
import androidx.fragment.app.Fragment
import nethical.digipaws.R
import nethical.digipaws.ui.fragments.anti_uninstall.ChooseModeFragment
import nethical.digipaws.ui.fragments.bedtime.SetupBedtimeMode
import nethical.digipaws.ui.fragments.usage.AllAppsUsageFragment

class FragmentActivity : AppCompatActivity() {
Expand All @@ -32,6 +33,9 @@ class FragmentActivity : AppCompatActivity() {
AllAppsUsageFragment.FRAGMENT_ID -> {
fragment = AllAppsUsageFragment()
}
SetupBedtimeMode.FRAGMENT_ID -> {
fragment = SetupBedtimeMode()
}

}
supportFragmentManager.beginTransaction()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ import nethical.digipaws.ui.dialogs.TweakUsageTracker
import nethical.digipaws.ui.dialogs.TweakViewBlockerCheatHours
import nethical.digipaws.ui.dialogs.TweakViewBlockerWarning
import nethical.digipaws.ui.fragments.anti_uninstall.ChooseModeFragment
import nethical.digipaws.ui.fragments.bedtime.SetupBedtimeMode
import nethical.digipaws.ui.fragments.usage.AllAppsUsageFragment
import nethical.digipaws.utils.SavedPreferencesLoader
import rikka.shizuku.Shizuku
Expand Down Expand Up @@ -394,6 +395,12 @@ class MainActivity : AppCompatActivity() {
}
}

binding.setupBedtime.setOnClickListener {
val intent = Intent(this, FragmentActivity::class.java)
intent.putExtra("fragment", SetupBedtimeMode.FRAGMENT_ID)
startActivity(intent, options.toBundle())
}

binding.monochromeStatusChip.setOnClickListener {
if(!isGeneralSettingsOn){
makeAccessibilityInfoDialog("General Features", DigipawsMainService::class.java)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package nethical.digipaws.ui.fragments.bedtime

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import nethical.digipaws.databinding.FragmentConfigureBedtimeBinding
import nl.joery.timerangepicker.TimeRangePicker

class SetupBedtimeMode : Fragment() {

companion object {
const val FRAGMENT_ID = "setup_bedtime_mode"
}

private var _binding: FragmentConfigureBedtimeBinding? = null
private val binding get() = _binding!! // Safe getter for binding

override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
_binding = FragmentConfigureBedtimeBinding.inflate(inflater, container, false)
return binding.root
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

var endTimeInMins: Int? = null
var startTimeInMins: Int? = null

binding.picker.hourFormat = TimeRangePicker.HourFormat.FORMAT_24
binding.picker.setOnTimeChangeListener(object :
TimeRangePicker.OnTimeChangeListener {
override fun onStartTimeChange(startTime: TimeRangePicker.Time) {
binding.fromTime.text =
binding.picker.startTime.toString()
startTimeInMins = binding.picker.startTimeMinutes
}

override fun onEndTimeChange(endTime: TimeRangePicker.Time) {
binding.endTime.text =
binding.picker.endTime.toString()
endTimeInMins = binding.picker.endTimeMinutes
}

override fun onDurationChange(duration: TimeRangePicker.TimeDuration) {
}
})

}

override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
}
64 changes: 64 additions & 0 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,70 @@
</LinearLayout>
</com.google.android.material.card.MaterialCardView>


<com.google.android.material.card.MaterialCardView
android:id="@+id/bedtime_mode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="16dp"
app:cardCornerRadius="12dp"
app:cardElevation="4dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<TextView
style="@style/TextAppearance.Material3.TitleLarge"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Bedtime Mode"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_default="spread" />

<com.google.android.material.chip.Chip
android:id="@+id/bedtime_status_chip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/disabled"
app:chipIcon="@drawable/baseline_warning_24"
app:chipIconTint="@color/design_default_color_error"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

<Button
android:id="@+id/setup_bedtime"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="Configure" />

<TextView
android:id="@+id/bedtime_warning"
style="@style/TextAppearance.Material3.BodySmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="Authorize digipaws to access Shizuku"
android:textAlignment="center"
android:visibility="gone"
android:textColor="?attr/colorError" />

</LinearLayout>
</com.google.android.material.card.MaterialCardView>

<com.google.android.material.card.MaterialCardView
android:id="@+id/app_blocker_card"
android:layout_width="match_parent"
Expand Down
139 changes: 139 additions & 0 deletions app/src/main/res/layout/fragment_configure_bedtime.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/colorSurface">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">


<TextView
android:id="@+id/textView23"
style="@style/TextAppearance.Material3.HeadlineLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="16dp"
android:text="Bedtime Mode"
android:textStyle="bold" />

<TextView
android:id="@+id/textView25"
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="16dp"
android:text="Configure Time" />


<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp">

<nl.joery.timerangepicker.TimeRangePicker
android:id="@+id/picker"
android:layout_width="wrap_content"
android:layout_height="300dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:trp_thumbIconEnd="@drawable/baseline_stop_24"
app:trp_thumbIconStart="@drawable/baseline_start_24" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<TextView
android:id="@+id/from_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="4dp"
android:text="6:30"
android:textStyle="bold"
tools:ignore="HardcodedText" />

<TextView
android:id="@+id/textView8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="4dp"
android:text="@string/to" />

<TextView
android:id="@+id/end_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="4dp"
android:text="22:00"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

<TextView
android:id="@+id/textView26"
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:gravity="center"
android:text="Options" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">

<CheckBox
android:id="@+id/checkBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Dim the screen brightness" />

<CheckBox
android:id="@+id/checkBox2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Turn on DND" />

<CheckBox
android:id="@+id/checkBox3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Turn on Gray Scale Mode" />
</LinearLayout>

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_margin="8dp"
android:text="Enable"
app:icon="@drawable/baseline_done_24" />

</LinearLayout>
</ScrollView>

0 comments on commit 8f57d1c

Please sign in to comment.