mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-25 05:37:47 +00:00
refactor: set the buttons to match iOS in terms of enable disable and colours
This commit is contained in:
@@ -299,7 +299,7 @@
|
|||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:launchMode="singleTop"
|
android:launchMode="singleTop"
|
||||||
android:parentActivityName="org.thoughtcrime.securesms.home.HomeActivity"
|
android:parentActivityName="org.thoughtcrime.securesms.home.HomeActivity"
|
||||||
android:theme="@style/Theme.Session.DayNight.FlatActionBar">
|
android:theme="@style/Theme.Session.CallActivity">
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.support.PARENT_ACTIVITY"
|
android:name="android.support.PARENT_ACTIVITY"
|
||||||
android:value="org.thoughtcrime.securesms.home.HomeActivity" />
|
android:value="org.thoughtcrime.securesms.home.HomeActivity" />
|
||||||
|
@@ -15,6 +15,7 @@ import androidx.core.view.isVisible
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
|
import kotlinx.android.synthetic.main.activity_conversation_v2.*
|
||||||
import kotlinx.android.synthetic.main.activity_webrtc.*
|
import kotlinx.android.synthetic.main.activity_webrtc.*
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
import kotlinx.coroutines.flow.collect
|
import kotlinx.coroutines.flow.collect
|
||||||
@@ -68,20 +69,10 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?, ready: Boolean) {
|
override fun onCreate(savedInstanceState: Bundle?, ready: Boolean) {
|
||||||
super.onCreate(savedInstanceState, ready)
|
super.onCreate(savedInstanceState, ready)
|
||||||
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED)
|
|
||||||
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
||||||
setContentView(R.layout.activity_webrtc)
|
setContentView(R.layout.activity_webrtc)
|
||||||
volumeControlStream = AudioManager.STREAM_VOICE_CALL
|
volumeControlStream = AudioManager.STREAM_VOICE_CALL
|
||||||
|
|
||||||
initializeResources()
|
|
||||||
|
|
||||||
Permissions.with(this)
|
|
||||||
.request(Manifest.permission.RECORD_AUDIO)
|
|
||||||
.onAllGranted {
|
|
||||||
setupStreams()
|
|
||||||
}
|
|
||||||
.execute()
|
|
||||||
|
|
||||||
if (intent.action == ACTION_ANSWER) {
|
if (intent.action == ACTION_ANSWER) {
|
||||||
answerCall()
|
answerCall()
|
||||||
}
|
}
|
||||||
@@ -136,14 +127,6 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initializeResources() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setupStreams() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun answerCall() {
|
private fun answerCall() {
|
||||||
val answerIntent = WebRtcCallService.acceptCallIntent(this)
|
val answerIntent = WebRtcCallService.acceptCallIntent(this)
|
||||||
ContextCompat.startForegroundService(this,answerIntent)
|
ContextCompat.startForegroundService(this,answerIntent)
|
||||||
@@ -157,10 +140,8 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
|
|||||||
launch {
|
launch {
|
||||||
viewModel.audioDeviceState.collect { state ->
|
viewModel.audioDeviceState.collect { state ->
|
||||||
val speakerEnabled = state.selectedDevice == SPEAKER_PHONE
|
val speakerEnabled = state.selectedDevice == SPEAKER_PHONE
|
||||||
speakerPhoneButton.setImageResource(
|
// change drawable background to enabled or not
|
||||||
if (speakerEnabled) R.drawable.ic_baseline_volume_up_24
|
speakerPhoneButton.isSelected = speakerEnabled
|
||||||
else R.drawable.ic_baseline_volume_mute_24
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,10 +188,8 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
|
|||||||
|
|
||||||
launch {
|
launch {
|
||||||
viewModel.localAudioEnabledState.collect { isEnabled ->
|
viewModel.localAudioEnabledState.collect { isEnabled ->
|
||||||
microphoneButton.setImageResource(
|
// change drawable background to enabled or not
|
||||||
if (isEnabled) R.drawable.ic_baseline_mic_off_24
|
microphoneButton.isSelected = !isEnabled
|
||||||
else R.drawable.ic_baseline_mic_24
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -224,10 +203,7 @@ class WebRtcCallActivity: PassphraseRequiredActionBarActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
local_renderer.isVisible = isEnabled
|
local_renderer.isVisible = isEnabled
|
||||||
enableCameraButton.setImageResource(
|
enableCameraButton.isSelected = isEnabled
|
||||||
if (isEnabled) R.drawable.ic_baseline_videocam_off_24
|
|
||||||
else R.drawable.ic_baseline_videocam_24
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
13
app/src/main/res/drawable/call_controls_background.xml
Normal file
13
app/src/main/res/drawable/call_controls_background.xml
Normal 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>
|
@@ -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>
|
|
@@ -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>
|
|
@@ -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>
|
@@ -35,7 +35,7 @@
|
|||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:foregroundGravity="center"
|
android:foregroundGravity="center"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:SpinKit_Color="@color/text"
|
app:SpinKit_Color="@color/core_white"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/remote_recipient"
|
app:layout_constraintEnd_toEndOf="@+id/remote_recipient"
|
||||||
app:layout_constraintStart_toStartOf="@+id/remote_recipient"
|
app:layout_constraintStart_toStartOf="@+id/remote_recipient"
|
||||||
app:layout_constraintTop_toBottomOf="@id/remote_recipient"
|
app:layout_constraintTop_toBottomOf="@id/remote_recipient"
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
android:background="@drawable/circle_tintable"
|
android:background="@drawable/circle_tintable"
|
||||||
android:src="@drawable/ic_baseline_call_end_24"
|
android:src="@drawable/ic_baseline_call_end_24"
|
||||||
android:padding="@dimen/medium_spacing"
|
android:padding="@dimen/medium_spacing"
|
||||||
app:tint="@color/core_white"
|
android:foregroundTint="@color/call_action_foreground"
|
||||||
android:backgroundTint="@color/destructive"
|
android:backgroundTint="@color/destructive"
|
||||||
android:layout_width="@dimen/large_button_height"
|
android:layout_width="@dimen/large_button_height"
|
||||||
android:layout_height="@dimen/large_button_height"
|
android:layout_height="@dimen/large_button_height"
|
||||||
@@ -82,11 +82,10 @@
|
|||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/switchCameraButton"
|
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:src="@drawable/ic_baseline_flip_camera_android_24"
|
||||||
android:padding="@dimen/medium_spacing"
|
android:padding="@dimen/medium_spacing"
|
||||||
app:tint="@color/call_action_foreground"
|
app:tint="@color/call_action_foreground"
|
||||||
android:backgroundTint="@color/call_action_button"
|
|
||||||
android:layout_width="@dimen/large_button_height"
|
android:layout_width="@dimen/large_button_height"
|
||||||
android:layout_height="@dimen/large_button_height"
|
android:layout_height="@dimen/large_button_height"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
|
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
|
||||||
@@ -99,10 +98,10 @@
|
|||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/enableCameraButton"
|
android:id="@+id/enableCameraButton"
|
||||||
android:background="@drawable/circle_tintable"
|
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"
|
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_width="@dimen/large_button_height"
|
||||||
android:layout_height="@dimen/large_button_height"
|
android:layout_height="@dimen/large_button_height"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
|
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
|
||||||
@@ -116,22 +115,22 @@
|
|||||||
android:layout_width="@dimen/large_button_height"
|
android:layout_width="@dimen/large_button_height"
|
||||||
android:layout_height="@dimen/large_button_height"
|
android:layout_height="@dimen/large_button_height"
|
||||||
android:padding="@dimen/medium_spacing"
|
android:padding="@dimen/medium_spacing"
|
||||||
android:src="@drawable/ic_microphone"
|
android:src="@drawable/ic_baseline_mic_off_24"
|
||||||
app:tint="@color/call_action_foreground"
|
|
||||||
android:backgroundTint="@color/call_action_button"
|
|
||||||
android:layout_marginBottom="@dimen/large_spacing"
|
android:layout_marginBottom="@dimen/large_spacing"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
|
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
|
||||||
android:background="@drawable/circle_tintable"
|
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_constraintEnd_toStartOf="@id/speakerPhoneButton"
|
||||||
app:layout_constraintStart_toEndOf="@id/enableCameraButton"/>
|
app:layout_constraintStart_toEndOf="@id/enableCameraButton"/>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/speakerPhoneButton"
|
android:id="@+id/speakerPhoneButton"
|
||||||
android:background="@drawable/circle_tintable"
|
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"
|
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_width="@dimen/large_button_height"
|
||||||
android:layout_height="@dimen/large_button_height"
|
android:layout_height="@dimen/large_button_height"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
|
app:layout_constraintBottom_toTopOf="@+id/endCallButton"
|
||||||
@@ -143,7 +142,8 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:textAllCaps="true"
|
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:text="@string/accept_call"
|
||||||
android:layout_marginBottom="@dimen/large_spacing"
|
android:layout_marginBottom="@dimen/large_spacing"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
@@ -32,10 +32,6 @@
|
|||||||
<color name="scroll_to_bottom_button_border">#99000000</color>
|
<color name="scroll_to_bottom_button_border">#99000000</color>
|
||||||
<color name="conversation_unread_count_indicator_background">#E0E0E0</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_start">#ffffff</color>
|
||||||
<color name="default_background_end">#fcfcfc</color>
|
<color name="default_background_end">#fcfcfc</color>
|
||||||
<color name="action_bar_background">#fcfcfc</color>
|
<color name="action_bar_background">#fcfcfc</color>
|
||||||
|
@@ -38,9 +38,11 @@
|
|||||||
<color name="scroll_to_bottom_button_border">#99FFFFFF</color>
|
<color name="scroll_to_bottom_button_border">#99FFFFFF</color>
|
||||||
<color name="conversation_unread_count_indicator_background">#303030</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">#D8D8D8</color>
|
||||||
<color name="call_action_foreground_highlighted">#171717</color>
|
<color name="call_action_foreground_highlighted">#171717</color>
|
||||||
|
<color name="call_background">#171717</color>
|
||||||
|
|
||||||
<array name="profile_picture_placeholder_colors">
|
<array name="profile_picture_placeholder_colors">
|
||||||
<item>#5ff8b0</item>
|
<item>#5ff8b0</item>
|
||||||
|
@@ -83,6 +83,12 @@
|
|||||||
<item name="android:drawableTint" tools:ignore="NewApi">@color/accent</item>
|
<item name="android:drawableTint" tools:ignore="NewApi">@color/accent</item>
|
||||||
</style>
|
</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">
|
<style name="Widget.Session.Button.Common.UnimportantFilled">
|
||||||
<item name="android:background">@drawable/unimportant_filled_button_medium_background</item>
|
<item name="android:background">@drawable/unimportant_filled_button_medium_background</item>
|
||||||
<item name="android:textColor">?android:textColorPrimary</item>
|
<item name="android:textColor">?android:textColorPrimary</item>
|
||||||
|
@@ -136,6 +136,11 @@
|
|||||||
<!-- leave empty to allow overriding -->
|
<!-- leave empty to allow overriding -->
|
||||||
</style>
|
</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">
|
<style name="Theme.Session.BottomSheet" parent="@style/Theme.AppCompat.DayNight.Dialog">
|
||||||
<item name="colorControlNormal">?android:textColorPrimary</item>
|
<item name="colorControlNormal">?android:textColorPrimary</item>
|
||||||
<item name="android:textColorPrimary">@color/text</item>
|
<item name="android:textColorPrimary">@color/text</item>
|
||||||
|
Reference in New Issue
Block a user