Battery added to date format alongside minor layour changes

This commit is contained in:
ottoptj 2024-07-04 22:31:01 +03:00
commit 8333864b4e
3 changed files with 32 additions and 34 deletions

View file

@ -5,21 +5,22 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.os.BatteryManager import android.os.BatteryManager
import android.widget.TextView import android.widget.TextClock
class BatteryReceiver(private val textView: TextView) : BroadcastReceiver() { class BatteryReceiver(private val dateText: TextClock) : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) { override fun onReceive(context: Context?, intent: Intent?) {
intent?.let { intent?.let {
val level = it.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) val level = it.getIntExtra(BatteryManager.EXTRA_LEVEL, -1)
val scale = it.getIntExtra(BatteryManager.EXTRA_SCALE, -1) val scale = it.getIntExtra(BatteryManager.EXTRA_SCALE, -1)
val batteryPct = level * 100 / scale.toFloat() val batteryPct = level * 100 / scale.toFloat()
textView.text = "${batteryPct.toInt()}%" dateText.format12Hour = "dd MMM yyyy | ${batteryPct.toInt()}%"
dateText.format24Hour = "dd MMM yyyy | ${batteryPct.toInt()}%"
} }
} }
companion object { companion object {
fun register(context: Context, textView: TextView): BatteryReceiver { fun register(context: Context, textView: TextClock): BatteryReceiver {
val receiver = BatteryReceiver(textView) val receiver = BatteryReceiver(textView)
val filter = IntentFilter(Intent.ACTION_BATTERY_CHANGED) val filter = IntentFilter(Intent.ACTION_BATTERY_CHANGED)
context.registerReceiver(receiver, filter) context.registerReceiver(receiver, filter)

View file

@ -20,6 +20,7 @@ import android.view.View
import android.view.inputmethod.InputMethodManager import android.view.inputmethod.InputMethodManager
import android.widget.EditText import android.widget.EditText
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextClock
import android.widget.TextView import android.widget.TextView
import android.widget.Toast import android.widget.Toast
import androidx.activity.OnBackPressedCallback import androidx.activity.OnBackPressedCallback
@ -55,7 +56,7 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap
val cameraIntent = Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE) val cameraIntent = Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE)
val phoneIntent = Intent(Intent.ACTION_DIAL) val phoneIntent = Intent(Intent.ACTION_DIAL)
private lateinit var batteryReceiver: BatteryReceiver private lateinit var batteryReceiver: BatteryReceiver
private lateinit var batteryTextView: TextView private lateinit var dateText: TextClock
private var appActionMenu = AppActionMenu() private var appActionMenu = AppActionMenu()
private val sharedPreferenceManager = SharedPreferenceManager() private val sharedPreferenceManager = SharedPreferenceManager()
@ -82,10 +83,9 @@ class MainActivity : AppCompatActivity(), AppMenuAdapter.OnItemClickListener, Ap
setupApps() setupApps()
val dateText = findViewById<TextClock>(R.id.text_date)
batteryTextView = findViewById(R.id.battery_charge) batteryReceiver = BatteryReceiver.register(this, dateText)
batteryReceiver = BatteryReceiver.register(this, batteryTextView)
binding.homeView.setOnTouchListener { _, event -> binding.homeView.setOnTouchListener { _, event ->
gestureDetector.onTouchEvent(event) gestureDetector.onTouchEvent(event)

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout 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" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_view" android:id="@+id/main_view"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -79,46 +80,42 @@
android:orientation="vertical" android:orientation="vertical"
android:visibility="visible"> android:visibility="visible">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextClock <TextClock
android:id="@+id/text_clock" android:id="@+id/text_clock"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="32dp" android:layout_marginHorizontal="32dp"
android:layout_marginTop="30dp" android:layout_marginStart="32dp"
android:layout_marginTop="40dp"
android:fontFamily="@null" android:fontFamily="@null"
android:format12Hour="hh:mm a" android:format12Hour="hh:mm a"
android:format24Hour="HH:mm" android:format24Hour="HH:mm"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAppearance="@android:style/TextAppearance.DeviceDefault" android:textAppearance="@android:style/TextAppearance.DeviceDefault"
android:textColor="#F3F3F3" android:textColor="#F3F3F3"
android:textSize="68sp" /> android:textSize="68sp"
app:layout_constraintStart_toStartOf="parent"
<LinearLayout app:layout_constraintTop_toTopOf="parent" />
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="37dp"
android:orientation="horizontal">
<TextClock <TextClock
android:id="@+id/text_date" android:id="@+id/text_date"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@null" android:fontFamily="@null"
android:format12Hour="dd MMM yyyy | " android:format12Hour="dd MMM yyyy"
android:format24Hour="dd MMM yyyy | " android:format24Hour="dd MMM yyyy"
android:textAlignment="textStart" android:textAlignment="textStart"
android:textAppearance="@android:style/TextAppearance.DeviceDefault" android:textAppearance="@android:style/TextAppearance.DeviceDefault"
android:textColor="#F3F3F3" android:textColor="#F3F3F3"
android:textSize="20sp" /> android:textSize="20sp"
app:layout_constraintStart_toStartOf="@+id/text_clock"
app:layout_constraintTop_toBottomOf="@+id/text_clock" />
<TextView </androidx.constraintlayout.widget.ConstraintLayout>
android:id="@+id/battery_charge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
android:textColor="#F3F3F3"
android:textSize="20sp" />
</LinearLayout>
<Space <Space
android:layout_width="match_parent" android:layout_width="match_parent"