mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-02-16 03:20:51 +01:00
Replace on/off vectors with color states
This commit is contained in:
parent
81f0a385dc
commit
cd00d725ae
@ -44,7 +44,7 @@ class CallActivity : SimpleActivity() {
|
||||
}
|
||||
|
||||
private var isSpeakerOn = false
|
||||
private var isMicrophoneOn = true
|
||||
private var isMicrophoneOff = false
|
||||
private var isCallEnded = false
|
||||
private var callContact: CallContact? = null
|
||||
private var proximityWakeLock: PowerManager.WakeLock? = null
|
||||
@ -185,13 +185,19 @@ class CallActivity : SimpleActivity() {
|
||||
dialpad_hashtag_holder.setOnClickListener { dialpadPressed('#') }
|
||||
|
||||
dialpad_wrapper.setBackgroundColor(getProperBackgroundColor())
|
||||
arrayOf(
|
||||
call_toggle_microphone, call_toggle_speaker, call_dialpad, dialpad_close,
|
||||
call_sim_image, call_toggle_hold, call_add, call_swap, call_merge, call_manage
|
||||
).forEach {
|
||||
arrayOf(dialpad_close, call_sim_image).forEach {
|
||||
it.applyColorFilter(getProperTextColor())
|
||||
}
|
||||
|
||||
arrayOf(
|
||||
call_toggle_microphone, call_toggle_speaker, call_dialpad,
|
||||
call_toggle_hold, call_add, call_swap, call_merge, call_manage
|
||||
).forEach {
|
||||
val bgColor = getInactiveButtonColor()
|
||||
it.applyColorFilter(bgColor.getContrastColor())
|
||||
it.background.applyColorFilter(getInactiveButtonColor())
|
||||
}
|
||||
|
||||
arrayOf(
|
||||
call_toggle_microphone, call_toggle_speaker, call_dialpad,
|
||||
call_toggle_hold, call_add, call_swap, call_merge, call_manage
|
||||
@ -371,8 +377,10 @@ class CallActivity : SimpleActivity() {
|
||||
|
||||
private fun toggleSpeaker() {
|
||||
isSpeakerOn = !isSpeakerOn
|
||||
val drawable = if (isSpeakerOn) R.drawable.ic_speaker_on_vector else R.drawable.ic_speaker_off_vector
|
||||
call_toggle_speaker.setImageDrawable(getDrawable(drawable))
|
||||
val color = if (isSpeakerOn) getActiveButtonColor() else getInactiveButtonColor()
|
||||
call_toggle_speaker.background.applyColorFilter(color)
|
||||
call_toggle_speaker.applyColorFilter(color.getContrastColor())
|
||||
|
||||
audioManager.isSpeakerphoneOn = isSpeakerOn
|
||||
|
||||
val newRoute = if (isSpeakerOn) CallAudioState.ROUTE_SPEAKER else CallAudioState.ROUTE_EARPIECE
|
||||
@ -387,12 +395,13 @@ class CallActivity : SimpleActivity() {
|
||||
}
|
||||
|
||||
private fun toggleMicrophone() {
|
||||
isMicrophoneOn = !isMicrophoneOn
|
||||
val drawable = if (isMicrophoneOn) R.drawable.ic_microphone_vector else R.drawable.ic_microphone_off_vector
|
||||
call_toggle_microphone.setImageDrawable(getDrawable(drawable))
|
||||
audioManager.isMicrophoneMute = !isMicrophoneOn
|
||||
CallManager.inCallService?.setMuted(!isMicrophoneOn)
|
||||
call_toggle_microphone.contentDescription = getString(if (isMicrophoneOn) R.string.turn_microphone_off else R.string.turn_microphone_on)
|
||||
isMicrophoneOff = !isMicrophoneOff
|
||||
val color = if (isMicrophoneOff) getActiveButtonColor() else getInactiveButtonColor()
|
||||
call_toggle_microphone.background.applyColorFilter(color)
|
||||
call_toggle_microphone.applyColorFilter(color.getContrastColor())
|
||||
audioManager.isMicrophoneMute = isMicrophoneOff
|
||||
CallManager.inCallService?.setMuted(isMicrophoneOff)
|
||||
call_toggle_microphone.contentDescription = getString(if (isMicrophoneOff) R.string.turn_microphone_on else R.string.turn_microphone_off)
|
||||
}
|
||||
|
||||
private fun toggleDialpadVisibility() {
|
||||
@ -427,8 +436,9 @@ class CallActivity : SimpleActivity() {
|
||||
|
||||
private fun toggleHold() {
|
||||
val isOnHold = CallManager.toggleHold()
|
||||
val drawable = if (isOnHold) R.drawable.ic_pause_crossed_vector else R.drawable.ic_pause_vector
|
||||
call_toggle_hold.setImageDrawable(getDrawable(drawable))
|
||||
val drawable = if (isOnHold) getActiveButtonColor() else getInactiveButtonColor()
|
||||
call_toggle_hold.background.applyColorFilter(drawable)
|
||||
call_toggle_hold.applyColorFilter(drawable.getContrastColor())
|
||||
call_toggle_hold.contentDescription = getString(if (isOnHold) R.string.resume_call else R.string.hold_call)
|
||||
hold_status_label.beVisibleIf(isOnHold)
|
||||
}
|
||||
@ -689,4 +699,8 @@ class CallActivity : SimpleActivity() {
|
||||
alpha = if (enabled) 1.0f else LOWER_ALPHA
|
||||
}
|
||||
}
|
||||
|
||||
private fun getActiveButtonColor() = getProperPrimaryColor()
|
||||
|
||||
private fun getInactiveButtonColor() = getProperBackgroundColor().darkenColor(4)
|
||||
}
|
||||
|
14
app/src/main/res/drawable/circle_button_background.xml
Normal file
14
app/src/main/res/drawable/circle_button_background.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="?attr/colorControlHighlight">
|
||||
<item android:id="@+id/button_background_holder">
|
||||
<layer-list>
|
||||
<item android:id="@+id/button_background_shape">
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="?attr/colorPrimary" />
|
||||
<corners android:radius="@dimen/material_button_corner_radius" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
</item>
|
||||
</ripple>
|
@ -163,10 +163,10 @@
|
||||
android:id="@+id/call_toggle_microphone"
|
||||
android:layout_width="@dimen/dialpad_button_size"
|
||||
android:layout_height="@dimen/dialpad_button_size"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:background="@drawable/circle_button_background"
|
||||
android:contentDescription="@string/turn_microphone_off"
|
||||
android:padding="@dimen/medium_margin"
|
||||
android:src="@drawable/ic_microphone_vector"
|
||||
android:padding="@dimen/activity_margin"
|
||||
android:src="@drawable/ic_microphone_off_vector"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/call_toggle_speaker"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@ -177,10 +177,10 @@
|
||||
android:id="@+id/call_toggle_speaker"
|
||||
android:layout_width="@dimen/dialpad_button_size"
|
||||
android:layout_height="@dimen/dialpad_button_size"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:background="@drawable/circle_button_background"
|
||||
android:contentDescription="@string/turn_speaker_on"
|
||||
android:padding="@dimen/medium_margin"
|
||||
android:src="@drawable/ic_speaker_off_vector"
|
||||
android:padding="@dimen/activity_margin"
|
||||
android:src="@drawable/ic_speaker_on_vector"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/call_dialpad"
|
||||
app:layout_constraintStart_toEndOf="@+id/call_toggle_microphone"
|
||||
@ -191,9 +191,9 @@
|
||||
android:id="@+id/call_dialpad"
|
||||
android:layout_width="@dimen/dialpad_button_size"
|
||||
android:layout_height="@dimen/dialpad_button_size"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:background="@drawable/circle_button_background"
|
||||
android:contentDescription="@string/show_dialpad"
|
||||
android:padding="@dimen/medium_margin"
|
||||
android:padding="@dimen/activity_margin"
|
||||
android:src="@drawable/ic_dialpad_vector"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@ -205,10 +205,10 @@
|
||||
android:id="@+id/call_toggle_hold"
|
||||
android:layout_width="@dimen/dialpad_button_size"
|
||||
android:layout_height="@dimen/dialpad_button_size"
|
||||
android:layout_marginTop="@dimen/bigger_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:layout_marginTop="@dimen/big_margin"
|
||||
android:background="@drawable/circle_button_background"
|
||||
android:contentDescription="@string/hold_call"
|
||||
android:padding="10dp"
|
||||
android:padding="@dimen/activity_margin"
|
||||
android:src="@drawable/ic_pause_vector"
|
||||
app:layout_constraintEnd_toEndOf="@+id/call_toggle_microphone"
|
||||
app:layout_constraintStart_toStartOf="@+id/call_toggle_microphone"
|
||||
@ -218,10 +218,10 @@
|
||||
android:id="@+id/call_add"
|
||||
android:layout_width="@dimen/dialpad_button_size"
|
||||
android:layout_height="@dimen/dialpad_button_size"
|
||||
android:layout_marginTop="@dimen/bigger_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:layout_marginTop="@dimen/big_margin"
|
||||
android:background="@drawable/circle_button_background"
|
||||
android:contentDescription="@string/call_add"
|
||||
android:padding="10dp"
|
||||
android:padding="@dimen/activity_margin"
|
||||
android:src="@drawable/ic_add_call_vector"
|
||||
app:layout_constraintEnd_toEndOf="@+id/call_toggle_speaker"
|
||||
app:layout_constraintStart_toStartOf="@+id/call_toggle_speaker"
|
||||
@ -231,10 +231,10 @@
|
||||
android:id="@+id/call_manage"
|
||||
android:layout_width="@dimen/dialpad_button_size"
|
||||
android:layout_height="@dimen/dialpad_button_size"
|
||||
android:layout_marginTop="@dimen/bigger_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:layout_marginTop="@dimen/big_margin"
|
||||
android:background="@drawable/circle_button_background"
|
||||
android:contentDescription="@string/conference_manage"
|
||||
android:padding="10dp"
|
||||
android:padding="@dimen/activity_margin"
|
||||
android:src="@drawable/ic_people_vector"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="@+id/call_dialpad"
|
||||
@ -246,10 +246,10 @@
|
||||
android:id="@+id/call_swap"
|
||||
android:layout_width="@dimen/dialpad_button_size"
|
||||
android:layout_height="@dimen/dialpad_button_size"
|
||||
android:layout_marginTop="@dimen/bigger_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:layout_marginTop="@dimen/big_margin"
|
||||
android:background="@drawable/circle_button_background"
|
||||
android:contentDescription="@string/call_swap"
|
||||
android:padding="@dimen/medium_margin"
|
||||
android:padding="@dimen/activity_margin"
|
||||
android:src="@drawable/ic_call_swap_vector"
|
||||
app:layout_constraintEnd_toEndOf="@+id/call_toggle_microphone"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
@ -260,10 +260,10 @@
|
||||
android:id="@+id/call_merge"
|
||||
android:layout_width="@dimen/dialpad_button_size"
|
||||
android:layout_height="@dimen/dialpad_button_size"
|
||||
android:layout_marginTop="@dimen/bigger_margin"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:layout_marginTop="@dimen/big_margin"
|
||||
android:background="@drawable/circle_button_background"
|
||||
android:contentDescription="@string/call_merge"
|
||||
android:padding="@dimen/medium_margin"
|
||||
android:padding="@dimen/activity_margin"
|
||||
android:src="@drawable/ic_call_merge_vector"
|
||||
app:layout_constraintEnd_toEndOf="@+id/call_toggle_speaker"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="dialpad_button_size">60dp</dimen>
|
||||
<dimen name="dialpad_button_size">72dp</dimen>
|
||||
<dimen name="dialpad_button_size_small">50dp</dimen>
|
||||
<dimen name="incoming_call_arrow_size">50dp</dimen>
|
||||
<dimen name="incoming_call_button_size">72dp</dimen>
|
||||
|
Loading…
x
Reference in New Issue
Block a user