refactor: set the buttons to match iOS in terms of enable disable and colours

This commit is contained in:
jubb
2021-11-25 16:58:01 +11:00
parent a3dfd1dd0c
commit e8400c375b
14 changed files with 74 additions and 60 deletions

View File

@@ -299,7 +299,7 @@
android:screenOrientation="portrait"
android:launchMode="singleTop"
android:parentActivityName="org.thoughtcrime.securesms.home.HomeActivity"
android:theme="@style/Theme.Session.DayNight.FlatActionBar">
android:theme="@style/Theme.Session.CallActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.thoughtcrime.securesms.home.HomeActivity" />

View File

@@ -15,6 +15,7 @@ import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.load.engine.DiskCacheStrategy
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.android.synthetic.main.activity_conversation_v2.*
import kotlinx.android.synthetic.main.activity_webrtc.*
import kotlinx.coroutines.Job
import kotlinx.coroutines.flow.collect
@@ -68,20 +69,10 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
override fun onCreate(savedInstanceState: Bundle?, ready: Boolean) {
super.onCreate(savedInstanceState, ready)
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED)
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
setContentView(R.layout.activity_webrtc)
volumeControlStream = AudioManager.STREAM_VOICE_CALL
initializeResources()
Permissions.with(this)
.request(Manifest.permission.RECORD_AUDIO)
.onAllGranted {
setupStreams()
}
.execute()
if (intent.action == ACTION_ANSWER) {
answerCall()
}
@@ -136,14 +127,6 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
}
private fun initializeResources() {
}
private fun setupStreams() {
}
private fun answerCall() {
val answerIntent = WebRtcCallService.acceptCallIntent(this)
ContextCompat.startForegroundService(this,answerIntent)
@@ -157,10 +140,8 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
launch {
viewModel.audioDeviceState.collect { state ->
val speakerEnabled = state.selectedDevice == SPEAKER_PHONE
speakerPhoneButton.setImageResource(
if (speakerEnabled) R.drawable.ic_baseline_volume_up_24
else R.drawable.ic_baseline_volume_mute_24
)
// change drawable background to enabled or not
speakerPhoneButton.isSelected = speakerEnabled
}
}
@@ -207,10 +188,8 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
launch {
viewModel.localAudioEnabledState.collect { isEnabled ->
microphoneButton.setImageResource(
if (isEnabled) R.drawable.ic_baseline_mic_off_24
else R.drawable.ic_baseline_mic_24
)
// change drawable background to enabled or not
microphoneButton.isSelected = !isEnabled
}
}
@@ -224,10 +203,7 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
}
}
local_renderer.isVisible = isEnabled
enableCameraButton.setImageResource(
if (isEnabled) R.drawable.ic_baseline_videocam_off_24
else R.drawable.ic_baseline_videocam_24
)
enableCameraButton.isSelected = isEnabled
}
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/call_action_button_highlighted" android:state_selected="true"/>
<item android:color="@color/call_action_button" android:state_selected="false"/>
</selector>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/call_action_foreground_highlighted" android:state_selected="true"/>
<item android:color="@color/call_action_foreground"/>
</selector>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/destructive" android:state_selected="true"/>
<item android:color="@color/call_action_button" android:state_selected="false"/>
</selector>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<shape android:shape="oval">
<solid android:color="@color/call_action_button_highlighted"/>
</shape>
</item>
<item>
<shape android:shape="oval">
<solid android:color="@color/call_action_button"/>
</shape>
</item>
</selector>

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/unimportant"/>
</shape>

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:color="@color/unimportant" android:width="@dimen/small_spacing"/>
</shape>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/transparent" />
<corners android:radius="@dimen/medium_button_corner_radius" />
<stroke android:width="@dimen/border_thickness" android:color="@color/accent" />
</shape>

View File

@@ -35,7 +35,7 @@
android:layout_gravity="center"
android:foregroundGravity="center"
android:visibility="gone"
app:SpinKit_Color="@color/text"
app:SpinKit_Color="@color/core_white"
app:layout_constraintEnd_toEndOf="@+id/remote_recipient"
app:layout_constraintStart_toStartOf="@+id/remote_recipient"
app:layout_constraintTop_toBottomOf="@id/remote_recipient"
@@ -70,7 +70,7 @@
android:background="@drawable/circle_tintable"
android:src="@drawable/ic_baseline_call_end_24"
android:padding="@dimen/medium_spacing"
app:tint="@color/core_white"
android:foregroundTint="@color/call_action_foreground"
android:backgroundTint="@color/destructive"
android:layout_width="@dimen/large_button_height"
android:layout_height="@dimen/large_button_height"
@@ -82,11 +82,10 @@
<ImageView
android:id="@+id/switchCameraButton"
android:background="@drawable/circle_tintable"
android:background="@drawable/call_controls_background"
android:src="@drawable/ic_baseline_flip_camera_android_24"
android:padding="@dimen/medium_spacing"
app:tint="@color/call_action_foreground"
android:backgroundTint="@color/call_action_button"
android:layout_width="@dimen/large_button_height"
android:layout_height="@dimen/large_button_height"
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
@@ -99,10 +98,10 @@
<ImageView
android:id="@+id/enableCameraButton"
android:background="@drawable/circle_tintable"
android:src="@drawable/ic_baseline_videocam_off_24"
android:backgroundTint="@color/state_list_call_action_background"
app:tint="@color/state_list_call_action_foreground"
android:src="@drawable/ic_baseline_videocam_24"
android:padding="@dimen/medium_spacing"
app:tint="@color/call_action_foreground"
android:backgroundTint="@color/call_action_button"
android:layout_width="@dimen/large_button_height"
android:layout_height="@dimen/large_button_height"
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
@@ -116,22 +115,22 @@
android:layout_width="@dimen/large_button_height"
android:layout_height="@dimen/large_button_height"
android:padding="@dimen/medium_spacing"
android:src="@drawable/ic_microphone"
app:tint="@color/call_action_foreground"
android:backgroundTint="@color/call_action_button"
android:src="@drawable/ic_baseline_mic_off_24"
android:layout_marginBottom="@dimen/large_spacing"
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
android:background="@drawable/circle_tintable"
android:backgroundTint="@color/state_list_call_action_mic_background"
app:tint="@color/call_action_foreground"
app:layout_constraintEnd_toStartOf="@id/speakerPhoneButton"
app:layout_constraintStart_toEndOf="@id/enableCameraButton"/>
<ImageView
android:id="@+id/speakerPhoneButton"
android:background="@drawable/circle_tintable"
android:src="@drawable/ic_baseline_volume_mute_24"
android:backgroundTint="@color/state_list_call_action_background"
app:tint="@color/state_list_call_action_foreground"
android:src="@drawable/ic_baseline_volume_up_24"
android:padding="@dimen/medium_spacing"
app:tint="@color/call_action_foreground"
android:backgroundTint="@color/call_action_button"
android:layout_width="@dimen/large_button_height"
android:layout_height="@dimen/large_button_height"
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
@@ -143,7 +142,8 @@
<TextView
android:textAllCaps="true"
style="@style/Widget.Session.Button.Common.ProminentOutline"
android:theme="@style/Theme.Session.ForceDark"
style="@style/Widget.Session.Button.Common.ProminentOutline.Accent"
android:text="@string/accept_call"
android:layout_marginBottom="@dimen/large_spacing"
app:layout_constraintBottom_toBottomOf="parent"

View File

@@ -32,10 +32,6 @@
<color name="scroll_to_bottom_button_border">#99000000</color>
<color name="conversation_unread_count_indicator_background">#E0E0E0</color>
<color name="call_action_button">#FFFFFF</color>
<color name="call_action_foreground">#171717</color>
<color name="call_action_foreground_highlighted">#D8D8D8</color>
<color name="default_background_start">#ffffff</color>
<color name="default_background_end">#fcfcfc</color>
<color name="action_bar_background">#fcfcfc</color>

View File

@@ -38,9 +38,11 @@
<color name="scroll_to_bottom_button_border">#99FFFFFF</color>
<color name="conversation_unread_count_indicator_background">#303030</color>
<color name="call_action_button">#353535</color>
<color name="call_action_button">#DD353535</color>
<color name="call_action_button_highlighted">#FFFFFF</color>
<color name="call_action_foreground">#D8D8D8</color>
<color name="call_action_foreground_highlighted">#171717</color>
<color name="call_background">#171717</color>
<array name="profile_picture_placeholder_colors">
<item>#5ff8b0</item>

View File

@@ -83,6 +83,12 @@
<item name="android:drawableTint" tools:ignore="NewApi">@color/accent</item>
</style>
<style name="Widget.Session.Button.Common.ProminentOutline.Accent">
<item name="android:background">@drawable/prominent_outline_button_medium_background_accent</item>
<item name="android:textColor">@color/accent</item>
<item name="android:drawableTint" tools:ignore="NewApi">@color/accent</item>
</style>
<style name="Widget.Session.Button.Common.UnimportantFilled">
<item name="android:background">@drawable/unimportant_filled_button_medium_background</item>
<item name="android:textColor">?android:textColorPrimary</item>

View File

@@ -136,6 +136,11 @@
<!-- leave empty to allow overriding -->
</style>
<style name="Theme.Session.CallActivity" parent="Theme.Session.ForceDark">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="Theme.Session.BottomSheet" parent="@style/Theme.AppCompat.DayNight.Dialog">
<item name="colorControlNormal">?android:textColorPrimary</item>
<item name="android:textColorPrimary">@color/text</item>