Rework incall view
This commit is contained in:
parent
a992ba8dab
commit
3aae0ef4c3
9 changed files with 908 additions and 605 deletions
|
@ -14,419 +14,447 @@
|
||||||
|
|
||||||
|
|
||||||
<android.support.v4.widget.DrawerLayout
|
<android.support.v4.widget.DrawerLayout
|
||||||
android:id="@+id/call_stats"
|
android:id="@+id/side_menu"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_below="@id/status">
|
android:layout_below="@id/status">
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_below="@id/status">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/fragmentContainer"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:orientation="horizontal" />
|
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_above="@+id/menu">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/conferenceCalls"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="top"
|
|
||||||
android:layout_alignParentTop="true"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:visibility="gone">
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/activeCallHeader"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="visible">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/call_header_description"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="80dp"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:background="@color/colorH"
|
|
||||||
android:alpha="0.8">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/contactNameOrNumber"
|
|
||||||
style="@style/font5"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingTop="5dp"
|
|
||||||
android:layout_alignParentTop="true"
|
|
||||||
android:layout_gravity="center"/>
|
|
||||||
|
|
||||||
<Chronometer
|
|
||||||
android:id="@+id/callTimer"
|
|
||||||
style="@style/font2"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@id/contactNameOrNumber"
|
|
||||||
android:layout_gravity="center"/>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/pause"
|
|
||||||
android:contentDescription="@string/content_description_pause"
|
|
||||||
android:layout_width="80dp"
|
|
||||||
android:layout_height="80dp"
|
|
||||||
android:padding="10dp"
|
|
||||||
android:src="@drawable/pause_big_default"
|
|
||||||
android:layout_below="@+id/call_header_description"
|
|
||||||
android:layout_alignParentRight="true"/>
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/avatar_layout"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@id/call_header_description"
|
|
||||||
android:gravity="center">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/contact_picture"
|
|
||||||
android:src="@drawable/avatar"
|
|
||||||
android:contentDescription="@string/content_description_contact_picture"
|
|
||||||
android:layout_width="200dp"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:adjustViewBounds="true"/>
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/mask"
|
|
||||||
android:src="@drawable/avatar_mask_border"
|
|
||||||
android:contentDescription="@string/content_description_contact_picture"
|
|
||||||
android:layout_width="200dp"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:adjustViewBounds="true"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/switchCamera"
|
|
||||||
android:layout_width="80dp"
|
|
||||||
android:layout_height="80dp"
|
|
||||||
android:padding="10dp"
|
|
||||||
android:contentDescription="@string/content_description_switch_camera"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:src="@drawable/switch_camera"
|
|
||||||
android:layout_below="@+id/call_header_description"
|
|
||||||
android:layout_alignParentLeft="true"
|
|
||||||
android:layout_alignParentStart="true"/>
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/calls"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_below="@id/activeCallHeader"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:background="@color/colorH"
|
|
||||||
android:layout_gravity="bottom"
|
|
||||||
android:orientation="vertical">
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/noCurrentCall"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:background="@color/colorC"
|
|
||||||
android:visibility="gone">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:src="@drawable/waiting_time"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:text="No current call"
|
|
||||||
style="@style/font16"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"/>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
<org.linphone.ui.Numpad
|
|
||||||
android:contentDescription="@string/content_description_numpad"
|
|
||||||
android:id="@+id/numpad"
|
|
||||||
android:background="@color/colorF"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="gone"
|
|
||||||
android:layout_margin="10dp"
|
|
||||||
android:layout_above="@id/menu"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_centerVertical="true"/>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/menu"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:orientation="vertical" >
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="70dp"
|
|
||||||
android:background="@color/colorF"
|
|
||||||
android:orientation="horizontal">
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:layout_weight="1">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/video"
|
|
||||||
android:src="@drawable/camera_default"
|
|
||||||
android:padding="25dp"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"/>
|
|
||||||
|
|
||||||
<ProgressBar
|
|
||||||
android:id="@+id/videoInProgress"
|
|
||||||
style="?android:attr/progressBarStyle"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:visibility="gone"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/micro"
|
|
||||||
android:src="@drawable/micro_default"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:padding="15dp"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/speaker"
|
|
||||||
android:src="@drawable/speaker_default"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:padding="20dp"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_weight="1" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/audioRoute"
|
|
||||||
android:visibility="gone"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/options"
|
|
||||||
android:src="@drawable/options_default"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:padding="20dp"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/main_bar"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="70dp"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:orientation="horizontal" >
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/dialer"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:padding="20dp"
|
|
||||||
android:background="@color/colorC"
|
|
||||||
android:contentDescription="@string/content_description_contacts"
|
|
||||||
android:src="@drawable/footer_dialer" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/hangUp"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="15dp"
|
|
||||||
android:layout_weight="0.5"
|
|
||||||
android:background="@color/colorD"
|
|
||||||
android:contentDescription="@string/content_description_contacts"
|
|
||||||
android:src="@drawable/call_hangup" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/chat"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:padding="20dp"
|
|
||||||
android:background="@color/colorC"
|
|
||||||
android:contentDescription="@string/content_description_contacts"
|
|
||||||
android:src="@drawable/footer_chat" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/menu_bottom"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="70dp"
|
|
||||||
android:layout_above="@id/menu"
|
|
||||||
android:orientation="horizontal" >
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:layout_weight="0.5"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:layout_weight="0.5"/>
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/routeBluetooth"
|
|
||||||
android:src="@drawable/route_bluetooth"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:padding="20dp"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="0.5" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/addCall"
|
|
||||||
android:src="@drawable/options_add_call"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:padding="20dp"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="0.5" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/menu_middle"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="70dp"
|
|
||||||
android:layout_above="@id/menu_bottom"
|
|
||||||
android:orientation="horizontal" >
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:layout_weight="0.5"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:layout_weight="0.5"/>
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/routeEarpiece"
|
|
||||||
android:src="@drawable/route_earpiece"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:padding="20dp"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="0.5"/>
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/transfer"
|
|
||||||
android:src="@drawable/options_transfer_call"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:padding="20dp"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="0.5"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_above="@id/menu_middle"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="70dp"
|
|
||||||
android:orientation="horizontal" >
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:layout_weight="0.5"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:layout_weight="0.5"/>
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/routeSpeaker"
|
|
||||||
android:src="@drawable/route_speaker"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:padding="20dp"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="0.5"/>
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/conference"
|
|
||||||
android:src="@drawable/options_start_conference"
|
|
||||||
android:background="@drawable/button_background"
|
|
||||||
android:visibility="invisible"
|
|
||||||
android:padding="20dp"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="0.5"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:layout_below="@id/status">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/fragmentContainer"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="horizontal" />
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_above="@+id/menu">
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/conference_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="top"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:visibility="gone">
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/active_call"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="visible">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/active_call_info"
|
||||||
|
android:background="@color/colorH"
|
||||||
|
android:alpha="0.8"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="80dp"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/contact_name"
|
||||||
|
style="@style/font5"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingTop="5dp"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_gravity="center"/>
|
||||||
|
|
||||||
|
<Chronometer
|
||||||
|
android:id="@+id/call_timer"
|
||||||
|
style="@style/font2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@id/contact_name"
|
||||||
|
android:layout_gravity="center"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/avatar_layout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@id/active_call_info"
|
||||||
|
android:layout_margin="5dp"
|
||||||
|
android:paddingTop="10dp"
|
||||||
|
android:gravity="center_horizontal">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/contact_picture"
|
||||||
|
android:src="@drawable/avatar"
|
||||||
|
android:contentDescription="@string/content_description_contact_picture"
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="200dp"
|
||||||
|
android:adjustViewBounds="true"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/mask"
|
||||||
|
android:src="@drawable/avatar_mask_border"
|
||||||
|
android:contentDescription="@string/content_description_contact_picture"
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="200dp"
|
||||||
|
android:adjustViewBounds="true"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/remote_pause"
|
||||||
|
android:background="@color/colorC"
|
||||||
|
android:alpha="0.9"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:src="@drawable/waiting_time"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:text="@string/call_paused_by_remote"
|
||||||
|
style="@style/font16"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/pause"
|
||||||
|
android:src="@drawable/pause_big_default"
|
||||||
|
android:contentDescription="@string/content_description_pause"
|
||||||
|
android:layout_width="80dp"
|
||||||
|
android:layout_height="80dp"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:layout_below="@+id/active_call_info"
|
||||||
|
android:layout_alignParentRight="true"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/switchCamera"
|
||||||
|
android:src="@drawable/switch_camera"
|
||||||
|
android:layout_width="80dp"
|
||||||
|
android:layout_height="80dp"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:contentDescription="@string/content_description_switch_camera"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_below="@+id/active_call_info"
|
||||||
|
android:layout_alignParentLeft="true"/>
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/calls_list"
|
||||||
|
android:background="@color/colorH"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_gravity="bottom"
|
||||||
|
android:orientation="vertical">
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/no_current_call"
|
||||||
|
android:background="@color/colorC"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_above="@id/calls_list"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:src="@drawable/waiting_time"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:text="@string/no_current_call"
|
||||||
|
style="@style/font16"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
|
<org.linphone.ui.Numpad
|
||||||
|
android:id="@+id/numpad"
|
||||||
|
android:background="@color/colorF"
|
||||||
|
android:contentDescription="@string/content_description_numpad"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:layout_margin="10dp"
|
||||||
|
android:layout_above="@id/menu"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_centerVertical="true"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/menu"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:background="@color/colorF"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="70dp"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/video"
|
||||||
|
android:src="@drawable/camera_default"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:padding="25dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"/>
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:id="@+id/video_in_progress"
|
||||||
|
style="?android:attr/progressBarStyle"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/micro"
|
||||||
|
android:src="@drawable/micro_default"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:padding="15dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/speaker"
|
||||||
|
android:src="@drawable/speaker_default"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/audio_route"
|
||||||
|
android:src="@drawable/routes_default"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/options"
|
||||||
|
android:src="@drawable/options_default"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/main_bar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="70dp"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:orientation="horizontal" >
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/dialer"
|
||||||
|
android:src="@drawable/footer_dialer"
|
||||||
|
android:background="@color/colorC"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:padding="20dp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/hang_up"
|
||||||
|
android:src="@drawable/call_hangup"
|
||||||
|
android:background="@drawable/hangup"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0.5"
|
||||||
|
android:padding="15dp"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/chat"
|
||||||
|
android:src="@drawable/footer_chat"
|
||||||
|
android:background="@color/colorC"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:padding="20dp"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/menu_bottom"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="70dp"
|
||||||
|
android:layout_above="@id/menu"
|
||||||
|
android:orientation="horizontal" >
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_weight="0.5"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_weight="0.5"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/route_bluetooth"
|
||||||
|
android:src="@drawable/route_bluetooth"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0.5" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/add_call"
|
||||||
|
android:src="@drawable/options_add_call"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0.5" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/menu_middle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="70dp"
|
||||||
|
android:layout_above="@id/menu_bottom"
|
||||||
|
android:orientation="horizontal" >
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_weight="0.5"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_weight="0.5"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/route_earpiece"
|
||||||
|
android:src="@drawable/route_earpiece"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0.5"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/transfer"
|
||||||
|
android:src="@drawable/options_transfer_call"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0.5"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_above="@id/menu_middle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="70dp"
|
||||||
|
android:orientation="horizontal" >
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_weight="0.5"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:layout_weight="0.5"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/route_speaker"
|
||||||
|
android:src="@drawable/route_speaker"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0.5"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/conference"
|
||||||
|
android:src="@drawable/options_start_conference"
|
||||||
|
android:background="@drawable/button_background"
|
||||||
|
android:visibility="invisible"
|
||||||
|
android:padding="20dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="0.5"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
android:id="@+id/side_menu_content"
|
android:id="@+id/side_menu_content"
|
||||||
android:layout_gravity="left"
|
android:background="@color/colorH"
|
||||||
android:background="@color/colorH">
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="left">
|
||||||
|
|
||||||
<include layout="@layout/incall_stats" android:id="@+id/incall_stats"/>
|
<include layout="@layout/incall_stats" android:id="@+id/incall_stats"/>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
</android.support.v4.widget.DrawerLayout>
|
||||||
|
|
||||||
</android.support.v4.widget.DrawerLayout>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:background="@color/colorA"
|
||||||
|
android:alpha="0.5"
|
||||||
android:layout_height="60dp"
|
android:layout_height="60dp"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_margin="2dp"
|
android:layout_margin="2dp"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:background="@color/colorA"
|
android:padding="5dp">
|
||||||
android:alpha="0.5"
|
|
||||||
android:padding="2dp">
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/contactPicture"
|
android:id="@+id/contact_picture"
|
||||||
|
android:src="@drawable/avatar"
|
||||||
android:layout_width="40dp"
|
android:layout_width="40dp"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"/>
|
||||||
android:src="@drawable/avatar" />
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/contactNameOrNumber"
|
android:id="@+id/contact_name"
|
||||||
style="@style/font14"
|
style="@style/font14"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:layout_width="0dip"
|
android:layout_width="0dip"
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
android:paddingRight="10dp"/>
|
android:paddingRight="10dp"/>
|
||||||
|
|
||||||
<Chronometer
|
<Chronometer
|
||||||
android:id="@+id/callTimer"
|
android:id="@+id/call_timer"
|
||||||
style="@style/font16"
|
style="@style/font16"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -36,14 +36,11 @@
|
||||||
android:gravity="center_vertical|right"/>
|
android:gravity="center_vertical|right"/>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/callStatus"
|
android:id="@+id/call_pause"
|
||||||
android:contentDescription="@string/content_description_pause"
|
|
||||||
android:src="@drawable/pause_small_over_selected"
|
android:src="@drawable/pause_small_over_selected"
|
||||||
android:layout_width="30dp"
|
android:contentDescription="@string/content_description_pause"
|
||||||
android:layout_height="30dp"
|
android:layout_width="40dp"
|
||||||
android:gravity="center_vertical"
|
android:layout_height="40dp"
|
||||||
android:scaleType="fitCenter"
|
android:gravity="center_vertical"/>
|
||||||
android:adjustViewBounds="true"
|
|
||||||
/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
|
@ -34,9 +34,9 @@
|
||||||
android:id="@+id/contact_detail"
|
android:id="@+id/contact_detail"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_above="@id/menu"
|
|
||||||
android:layout_below="@id/top_bar"
|
android:layout_below="@id/top_bar"
|
||||||
android:paddingTop="10dp">
|
android:paddingTop="10dp"
|
||||||
|
android:layout_above="@+id/menu">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/contact_name"
|
android:id="@+id/contact_name"
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
android:adjustViewBounds="true"/>
|
android:adjustViewBounds="true"/>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:src="@drawable/avatar_mask"
|
android:src="@drawable/avatar_mask_border"
|
||||||
android:layout_width="200dp"
|
android:layout_width="200dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
|
@ -86,7 +86,6 @@
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/menu"
|
android:id="@+id/menu"
|
||||||
android:visibility="visible"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="70dp"
|
android:layout_height="70dp"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
|
@ -102,6 +101,37 @@
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:padding="15dp"/>
|
android:padding="15dp"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/acceptUnlock"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:background="@color/colorA"
|
||||||
|
android:paddingLeft="15dp"
|
||||||
|
android:paddingTop="15dp"
|
||||||
|
android:paddingBottom="15dp"
|
||||||
|
android:layout_gravity="bottom">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:src="@drawable/arrow_accept"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:src="@drawable/arrow_accept"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:alpha="0.6"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/acceptArrow"
|
||||||
|
android:src="@drawable/arrow_accept"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:alpha="0.2"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/accept"
|
android:id="@+id/accept"
|
||||||
android:src="@drawable/call_audio_start"
|
android:src="@drawable/call_audio_start"
|
||||||
|
@ -111,6 +141,39 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:padding="15dp"/>
|
android:padding="15dp"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/declineUnlock"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:background="@color/colorD"
|
||||||
|
android:paddingLeft="15dp"
|
||||||
|
android:paddingTop="15dp"
|
||||||
|
android:paddingBottom="15dp"
|
||||||
|
android:layout_gravity="bottom">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/arrow_hangup"
|
||||||
|
android:src="@drawable/arrow_hangup"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:alpha="0.2"/>
|
||||||
|
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:src="@drawable/arrow_hangup"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:alpha="0.6"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:src="@drawable/arrow_hangup"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
android:adjustViewBounds="true"/>
|
android:adjustViewBounds="true"/>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:src="@drawable/avatar_mask"
|
android:src="@drawable/avatar_mask_border"
|
||||||
android:layout_width="200dp"
|
android:layout_width="200dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<string name="username">Username</string>
|
<string name="username">Username</string>
|
||||||
<string name="display_name">Display name</string>
|
<string name="display_name">Display name</string>
|
||||||
<string name="password">Password</string>
|
<string name="password">Password</string>
|
||||||
<string name="confirm_password">Confirm password</string>
|
<string name="confirm_password">Password confirmation</string>
|
||||||
<string name="domain">Domain</string>
|
<string name="domain">Domain</string>
|
||||||
<string name="remote_provisioning_url">Provisioning url</string>
|
<string name="remote_provisioning_url">Provisioning url</string>
|
||||||
<string name="email">Email</string>
|
<string name="email">Email</string>
|
||||||
|
@ -17,6 +17,8 @@
|
||||||
<string name="cancel">Cancel</string>
|
<string name="cancel">Cancel</string>
|
||||||
<string name="accept">Accept</string>
|
<string name="accept">Accept</string>
|
||||||
<string name="about">About</string>
|
<string name="about">About</string>
|
||||||
|
<string name="deny">Deny</string>
|
||||||
|
<string name="no_account">No account configured</string>
|
||||||
|
|
||||||
<!-- splashscreen -->
|
<!-- splashscreen -->
|
||||||
<string name="app_description">free SIP VOIP client</string>
|
<string name="app_description">free SIP VOIP client</string>
|
||||||
|
@ -44,26 +46,47 @@
|
||||||
<string name="address_bar_hint">Enter a number or an address</string>
|
<string name="address_bar_hint">Enter a number or an address</string>
|
||||||
|
|
||||||
<!-- 2. History -->
|
<!-- 2. History -->
|
||||||
|
<string name="no_call_history">No call in your history</string>
|
||||||
|
<string name="no_missed_call_history">No missed call in your history</string>
|
||||||
|
<string name="delete_history_log">Do you want to delete selected log?</string>
|
||||||
|
|
||||||
|
|
||||||
<!-- 3. Contacts -->
|
<!-- 3. Contacts -->
|
||||||
|
<string name="no_contact">No contact in your address book.</string>
|
||||||
|
<string name="no_sip_contact">No SIP contact in your address book.</string>
|
||||||
|
<string name="delete_contacts">Do you want to delete selected contact?</string>
|
||||||
|
<string name="delete_contact">Do you want to delete selected this contact?</string>
|
||||||
|
|
||||||
|
<!-- 4. Chat -->
|
||||||
|
<string name="no_chat_history">No conversations</string>
|
||||||
|
<string name="delete_conversation">Do you want to delete selected conversation?</string>
|
||||||
|
<string name="delete_message">Do you want to delete selected message?</string>
|
||||||
|
|
||||||
<!-- Side Menu -->
|
<!-- Side Menu -->
|
||||||
<string-array name="side_menu_item">
|
<string-array name="side_menu_item">
|
||||||
<item>Settings</item>
|
|
||||||
<item>Assistant</item>
|
<item>Assistant</item>
|
||||||
|
<item>Settings</item>
|
||||||
<item>About</item>
|
<item>About</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string name="quit">Quit</string>
|
<string name="quit">Quit</string>
|
||||||
|
|
||||||
<!-- Call -->
|
<!-- Call -->
|
||||||
<string name="incoming_call">incoming call</string>
|
<string name="incoming_call">incoming call</string>
|
||||||
<string name="outgoing_call">outgoing call</string>
|
<string name="outgoing_call">outgoing call</string>
|
||||||
<string name="call_update_video">Call update requested\nYour correspondent would like to add video to the current call.</string>
|
<string name="add_video_dialog">Your correspondent would like to turn on the video</string>
|
||||||
|
<string name="no_current_call">No active call</string>
|
||||||
|
<string name="call_paused_by_remote">Your correspondent paused the call</string>
|
||||||
|
<string name="zrtp_dialog">ZRTP token is %s\nYou should only accept if you have the same token as your correspondent</string>
|
||||||
|
|
||||||
|
|
||||||
<!-- Content description -->
|
<!-- Content description -->
|
||||||
|
<string name="content_description_toggle_micro">Toggle micro</string>
|
||||||
|
<string name="content_description_toggle_speaker">Toggle speaker</string>
|
||||||
|
<string name="content_description_decline">Decline</string>
|
||||||
|
<string name="content_description_hang_up">Hang up</string>
|
||||||
|
<string name="content_description_accept">Accept</string>
|
||||||
|
|
||||||
|
|
||||||
<string name="content_description_edit">Edit button</string>
|
<string name="content_description_edit">Edit button</string>
|
||||||
<string name="content_description_valid">Valid button</string>
|
<string name="content_description_valid">Valid button</string>
|
||||||
<string name="content_description_validate">Valid button</string>
|
<string name="content_description_validate">Valid button</string>
|
||||||
|
@ -90,11 +113,9 @@
|
||||||
<string name="content_description_all_calls">All calls</string>
|
<string name="content_description_all_calls">All calls</string>
|
||||||
<string name="content_description_missed_calls">Missed calls</string>
|
<string name="content_description_missed_calls">Missed calls</string>
|
||||||
<string name="content_description_switch_video">Switch video</string>
|
<string name="content_description_switch_video">Switch video</string>
|
||||||
<string name="content_description_toggle_speaker">Toggle speaker</string>
|
|
||||||
<string name="content_description_toggle_micro">Toggle micro</string>
|
|
||||||
<string name="content_description_add_call">Add call</string>
|
<string name="content_description_add_call">Add call</string>
|
||||||
<string name="content_description_pause">Pause</string>
|
<string name="content_description_pause">Pause</string>
|
||||||
<string name="content_description_hang_up">Hang up</string>
|
|
||||||
<string name="content_description_numpad">Numpad</string>
|
<string name="content_description_numpad">Numpad</string>
|
||||||
<string name="content_description_settings">Settings button</string>
|
<string name="content_description_settings">Settings button</string>
|
||||||
<string name="content_description_dialer">Dialer</string>
|
<string name="content_description_dialer">Dialer</string>
|
||||||
|
@ -339,11 +360,6 @@
|
||||||
<string name="conference">Conference</string>
|
<string name="conference">Conference</string>
|
||||||
<string name="draft">Draft</string>
|
<string name="draft">Draft</string>
|
||||||
<string name="new_fast_chat">Enter a SIP address to chat with…</string>
|
<string name="new_fast_chat">Enter a SIP address to chat with…</string>
|
||||||
<string name="no_call_history">No call in your history.</string>
|
|
||||||
<string name="no_missed_call_history">No missed call in your history.</string>
|
|
||||||
<string name="no_contact">No contact in your address book.</string>
|
|
||||||
<string name="no_sip_contact">No SIP contact in your address book.</string>
|
|
||||||
<string name="no_chat_history">No chat history.</string>
|
|
||||||
<string name="call_stats_audio">Audio</string>
|
<string name="call_stats_audio">Audio</string>
|
||||||
<string name="call_stats_video">Video</string>
|
<string name="call_stats_video">Video</string>
|
||||||
<string name="call_stats_codec">Codec:</string>
|
<string name="call_stats_codec">Codec:</string>
|
||||||
|
@ -412,8 +428,6 @@
|
||||||
|
|
||||||
<string name="pref_image_sharing_server_title">Sharing server</string>
|
<string name="pref_image_sharing_server_title">Sharing server</string>
|
||||||
<string name="pref_remote_provisioning_title">Remote provisioning</string>
|
<string name="pref_remote_provisioning_title">Remote provisioning</string>
|
||||||
<string name="delete_contact">Delete</string>
|
|
||||||
<string name="delete_contact_dialog">This contact will be deleted.</string>
|
|
||||||
<string name="sip_address">SIP address</string>
|
<string name="sip_address">SIP address</string>
|
||||||
<string name="phone_number">Phone number</string>
|
<string name="phone_number">Phone number</string>
|
||||||
<string name="contact_first_name">First name</string>
|
<string name="contact_first_name">First name</string>
|
||||||
|
@ -460,9 +474,6 @@
|
||||||
<string name="setup_remote_provisioning_login_hint">The configuration you downloaded doesn\'t include your account. Please fill it in.</string>
|
<string name="setup_remote_provisioning_login_hint">The configuration you downloaded doesn\'t include your account. Please fill it in.</string>
|
||||||
<string name="setup_confirm_username">Your username will be %s.\r\n\r\nIt may differ from what you entered to match some requirements.\r\nDo you accept ?</string>
|
<string name="setup_confirm_username">Your username will be %s.\r\n\r\nIt may differ from what you entered to match some requirements.\r\nDo you accept ?</string>
|
||||||
|
|
||||||
<string name="zrtp_accept">Accept</string>
|
|
||||||
<string name="zrtp_deny">Deny</string>
|
|
||||||
<string name="zrtp_help">You should only accept if you have the same code (see above) as your correspondent</string>
|
|
||||||
<string name="remote_composing">Remote is writing...</string>
|
<string name="remote_composing">Remote is writing...</string>
|
||||||
<string name="unread_messages">%i unread messages</string>
|
<string name="unread_messages">%i unread messages</string>
|
||||||
<string name="remote_provisioning_failure">Failed to download or apply remote provisioning profile...</string>
|
<string name="remote_provisioning_failure">Failed to download or apply remote provisioning profile...</string>
|
||||||
|
|
|
@ -73,7 +73,7 @@ import android.widget.Toast;
|
||||||
* @author Sylvain Berfini
|
* @author Sylvain Berfini
|
||||||
*/
|
*/
|
||||||
public class CallActivity extends Activity implements OnClickListener {
|
public class CallActivity extends Activity implements OnClickListener {
|
||||||
private final static int SECONDS_BEFORE_HIDING_CONTROLS = 10000;
|
private final static int SECONDS_BEFORE_HIDING_CONTROLS = 5000;
|
||||||
private final static int SECONDS_BEFORE_DENYING_CALL_UPDATE = 30000;
|
private final static int SECONDS_BEFORE_DENYING_CALL_UPDATE = 30000;
|
||||||
|
|
||||||
private static CallActivity instance;
|
private static CallActivity instance;
|
||||||
|
@ -84,7 +84,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
private RelativeLayout mActiveCallHeader, sideMenuContent, avatar_layout;
|
private RelativeLayout mActiveCallHeader, sideMenuContent, avatar_layout;
|
||||||
private ImageView pause, hangUp, dialer, video, micro, speaker, options, addCall, transfer, conference, conferenceStatus, contactPicture;
|
private ImageView pause, hangUp, dialer, video, micro, speaker, options, addCall, transfer, conference, conferenceStatus, contactPicture;
|
||||||
private ImageView audioRoute, routeSpeaker, routeEarpiece, routeBluetooth, menu;
|
private ImageView audioRoute, routeSpeaker, routeEarpiece, routeBluetooth, menu;
|
||||||
private LinearLayout routeLayout, mNoCurrentCall, callInfo;
|
private LinearLayout mNoCurrentCall, callInfo, mCallPaused;
|
||||||
private ProgressBar videoProgress;
|
private ProgressBar videoProgress;
|
||||||
private StatusFragment status;
|
private StatusFragment status;
|
||||||
private CallAudioFragment audioCallFragment;
|
private CallAudioFragment audioCallFragment;
|
||||||
|
@ -143,8 +143,9 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state == State.Paused || state == State.PausedByRemote || state == State.Pausing) {
|
if (state == State.Paused || state == State.PausedByRemote || state == State.Pausing) {
|
||||||
if(LinphoneManager.getLc().getCurrentCall() != null)
|
if(LinphoneManager.getLc().getCurrentCall() != null) {
|
||||||
enabledVideoButton(false);
|
enabledVideoButton(false);
|
||||||
|
}
|
||||||
if(isVideoEnabled(call)){
|
if(isVideoEnabled(call)){
|
||||||
showAudioView();
|
showAudioView();
|
||||||
}
|
}
|
||||||
|
@ -157,7 +158,16 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
showVideoView();
|
showVideoView();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
enabledVideoButton(true);
|
if(LinphoneManager.getLc().getCurrentCall() != null) {
|
||||||
|
enabledVideoButton(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (state == State.Connected) {
|
||||||
|
if(call.getCurrentParamsCopy().getMediaEncryption().equals(LinphoneCore.MediaEncryption.ZRTP) && !call.isAuthenticationTokenVerified()){
|
||||||
|
//TODO AFFICHER DIALOG ZRTP
|
||||||
|
status.showZRTPDialog(call);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state == State.StreamsRunning) {
|
if (state == State.StreamsRunning) {
|
||||||
|
@ -165,13 +175,14 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
//Check media in progress
|
//Check media in progress
|
||||||
if(LinphonePreferences.instance().isVideoEnabled() && !call.mediaInProgress()){
|
if(LinphonePreferences.instance().isVideoEnabled() && !call.mediaInProgress()){
|
||||||
enabledVideoButton(true);
|
enabledVideoButton(true);
|
||||||
|
enabledPauseButton(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
LinphoneManager.getLc().enableSpeaker(isSpeakerEnabled);
|
|
||||||
|
|
||||||
isMicMuted = LinphoneManager.getLc().isMicMuted();
|
|
||||||
enableAndRefreshInCallActions();
|
enableAndRefreshInCallActions();
|
||||||
|
|
||||||
|
LinphoneManager.getLc().enableSpeaker(isSpeakerEnabled);
|
||||||
|
isMicMuted = LinphoneManager.getLc().isMicMuted();
|
||||||
|
|
||||||
if (status != null) {
|
if (status != null) {
|
||||||
videoProgress.setVisibility(View.GONE);
|
videoProgress.setVisibility(View.GONE);
|
||||||
status.refreshStatusItems(call, isVideoEnabled(call));
|
status.refreshStatusItems(call, isVideoEnabled(call));
|
||||||
|
@ -239,7 +250,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
isSpeakerEnabled = savedInstanceState.getBoolean("Speaker");
|
isSpeakerEnabled = savedInstanceState.getBoolean("Speaker");
|
||||||
isMicMuted = savedInstanceState.getBoolean("Mic");
|
isMicMuted = savedInstanceState.getBoolean("Mic");
|
||||||
isVideoCallPaused = savedInstanceState.getBoolean("VideoCallPaused");
|
isVideoCallPaused = savedInstanceState.getBoolean("VideoCallPaused");
|
||||||
//refreshInCallActions();
|
refreshInCallActions();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -247,15 +258,11 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
if (isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
if (isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
||||||
callFragment = new CallVideoFragment();
|
callFragment = new CallVideoFragment();
|
||||||
videoCallFragment = (CallVideoFragment) callFragment;
|
videoCallFragment = (CallVideoFragment) callFragment;
|
||||||
|
displayVideoCall(false);
|
||||||
isSpeakerEnabled = true;
|
isSpeakerEnabled = true;
|
||||||
|
|
||||||
if (cameraNumber > 1) {
|
|
||||||
switchCamera.setVisibility(View.VISIBLE);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
callFragment = new CallAudioFragment();
|
callFragment = new CallAudioFragment();
|
||||||
audioCallFragment = (CallAudioFragment) callFragment;
|
audioCallFragment = (CallAudioFragment) callFragment;
|
||||||
switchCamera.setVisibility(View.INVISIBLE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(BluetoothManager.getInstance().isBluetoothHeadsetAvailable()){
|
if(BluetoothManager.getInstance().isBluetoothHeadsetAvailable()){
|
||||||
|
@ -291,15 +298,15 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
private void initUI() {
|
private void initUI() {
|
||||||
inflater = LayoutInflater.from(this);
|
inflater = LayoutInflater.from(this);
|
||||||
container = (ViewGroup) findViewById(R.id.topLayout);
|
container = (ViewGroup) findViewById(R.id.topLayout);
|
||||||
callsList = (LinearLayout) findViewById(R.id.calls);
|
callsList = (LinearLayout) findViewById(R.id.calls_list);
|
||||||
conferenceList = (LinearLayout) findViewById(R.id.conferenceCalls);
|
conferenceList = (LinearLayout) findViewById(R.id.conference_list);
|
||||||
|
|
||||||
//TopBar
|
//TopBar
|
||||||
video = (ImageView) findViewById(R.id.video);
|
video = (ImageView) findViewById(R.id.video);
|
||||||
video.setOnClickListener(this);
|
video.setOnClickListener(this);
|
||||||
enabledVideoButton(false);
|
enabledVideoButton(false);
|
||||||
|
|
||||||
videoProgress = (ProgressBar) findViewById(R.id.videoInProgress);
|
videoProgress = (ProgressBar) findViewById(R.id.video_in_progress);
|
||||||
videoProgress.setVisibility(View.GONE);
|
videoProgress.setVisibility(View.GONE);
|
||||||
|
|
||||||
micro = (ImageView) findViewById(R.id.micro);
|
micro = (ImageView) findViewById(R.id.micro);
|
||||||
|
@ -313,7 +320,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
options.setEnabled(false);
|
options.setEnabled(false);
|
||||||
|
|
||||||
//BottonBar
|
//BottonBar
|
||||||
hangUp = (ImageView) findViewById(R.id.hangUp);
|
hangUp = (ImageView) findViewById(R.id.hang_up);
|
||||||
hangUp.setOnClickListener(this);
|
hangUp.setOnClickListener(this);
|
||||||
|
|
||||||
dialer = (ImageView) findViewById(R.id.dialer);
|
dialer = (ImageView) findViewById(R.id.dialer);
|
||||||
|
@ -325,14 +332,15 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
//Others
|
//Others
|
||||||
|
|
||||||
//Active Call
|
//Active Call
|
||||||
callInfo = (LinearLayout) findViewById(R.id.call_header_description);
|
callInfo = (LinearLayout) findViewById(R.id.active_call_info);
|
||||||
|
|
||||||
pause = (ImageView) findViewById(R.id.pause);
|
pause = (ImageView) findViewById(R.id.pause);
|
||||||
pause.setOnClickListener(this);
|
pause.setOnClickListener(this);
|
||||||
pause.setEnabled(false);
|
enabledPauseButton(false);
|
||||||
|
|
||||||
mActiveCallHeader = (RelativeLayout) findViewById(R.id.activeCallHeader);
|
mActiveCallHeader = (RelativeLayout) findViewById(R.id.active_call);
|
||||||
mNoCurrentCall = (LinearLayout) findViewById(R.id.noCurrentCall);
|
mNoCurrentCall = (LinearLayout) findViewById(R.id.no_current_call);
|
||||||
|
mCallPaused = (LinearLayout) findViewById(R.id.remote_pause);
|
||||||
|
|
||||||
contactPicture = (ImageView) findViewById(R.id.contact_picture);
|
contactPicture = (ImageView) findViewById(R.id.contact_picture);
|
||||||
avatar_layout = (RelativeLayout) findViewById(R.id.avatar_layout);
|
avatar_layout = (RelativeLayout) findViewById(R.id.avatar_layout);
|
||||||
|
@ -345,7 +353,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
|
|
||||||
|
|
||||||
//Options
|
//Options
|
||||||
addCall = (ImageView) findViewById(R.id.addCall);
|
addCall = (ImageView) findViewById(R.id.add_call);
|
||||||
addCall.setOnClickListener(this);
|
addCall.setOnClickListener(this);
|
||||||
addCall.setEnabled(false);
|
addCall.setEnabled(false);
|
||||||
|
|
||||||
|
@ -358,14 +366,13 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
conference.setOnClickListener(this);
|
conference.setOnClickListener(this);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//routeLayout = (LinearLayout) findViewById(R.id.routesLayout);
|
audioRoute = (ImageView) findViewById(R.id.audio_route);
|
||||||
audioRoute = (ImageView) findViewById(R.id.audioRoute);
|
|
||||||
audioRoute.setOnClickListener(this);
|
audioRoute.setOnClickListener(this);
|
||||||
routeSpeaker = (ImageView) findViewById(R.id.routeSpeaker);
|
routeSpeaker = (ImageView) findViewById(R.id.route_speaker);
|
||||||
routeSpeaker.setOnClickListener(this);
|
routeSpeaker.setOnClickListener(this);
|
||||||
routeEarpiece = (ImageView) findViewById(R.id.routeEarpiece);
|
routeEarpiece = (ImageView) findViewById(R.id.route_earpiece);
|
||||||
routeEarpiece.setOnClickListener(this);
|
routeEarpiece.setOnClickListener(this);
|
||||||
routeBluetooth = (ImageView) findViewById(R.id.routeBluetooth);
|
routeBluetooth = (ImageView) findViewById(R.id.route_bluetooth);
|
||||||
routeBluetooth.setOnClickListener(this);
|
routeBluetooth.setOnClickListener(this);
|
||||||
} catch (NullPointerException npe) {
|
} catch (NullPointerException npe) {
|
||||||
Log.e("Bluetooth: Audio routes menu disabled on tablets for now (1)");
|
Log.e("Bluetooth: Audio routes menu disabled on tablets for now (1)");
|
||||||
|
@ -391,15 +398,11 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
|
|
||||||
if (BluetoothManager.getInstance().isBluetoothHeadsetAvailable()) {
|
if (BluetoothManager.getInstance().isBluetoothHeadsetAvailable()) {
|
||||||
try {
|
try {
|
||||||
if (routeLayout != null)
|
|
||||||
routeLayout.setVisibility(View.VISIBLE);
|
|
||||||
audioRoute.setVisibility(View.VISIBLE);
|
audioRoute.setVisibility(View.VISIBLE);
|
||||||
speaker.setVisibility(View.GONE);
|
speaker.setVisibility(View.GONE);
|
||||||
} catch (NullPointerException npe) { Log.e("Bluetooth: Audio routes menu disabled on tablets for now (2)"); }
|
} catch (NullPointerException npe) { Log.e("Bluetooth: Audio routes menu disabled on tablets for now (2)"); }
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
if (routeLayout != null)
|
|
||||||
routeLayout.setVisibility(View.GONE);
|
|
||||||
audioRoute.setVisibility(View.GONE);
|
audioRoute.setVisibility(View.GONE);
|
||||||
speaker.setVisibility(View.VISIBLE);
|
speaker.setVisibility(View.VISIBLE);
|
||||||
} catch (NullPointerException npe) { Log.e("Bluetooth: Audio routes menu disabled on tablets for now (3)"); }
|
} catch (NullPointerException npe) { Log.e("Bluetooth: Audio routes menu disabled on tablets for now (3)"); }
|
||||||
|
@ -410,7 +413,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void createInCallStats() {
|
public void createInCallStats() {
|
||||||
sideMenu = (DrawerLayout) findViewById(R.id.call_stats);
|
sideMenu = (DrawerLayout) findViewById(R.id.side_menu);
|
||||||
menu = (ImageView) findViewById(R.id.call_quality);
|
menu = (ImageView) findViewById(R.id.call_quality);
|
||||||
|
|
||||||
sideMenuContent = (RelativeLayout) findViewById(R.id.side_menu_content);
|
sideMenuContent = (RelativeLayout) findViewById(R.id.side_menu_content);
|
||||||
|
@ -418,7 +421,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
menu.setOnClickListener(new OnClickListener() {
|
menu.setOnClickListener(new OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
if(sideMenu.isDrawerVisible(Gravity.LEFT)){
|
if (sideMenu.isDrawerVisible(Gravity.LEFT)) {
|
||||||
sideMenu.closeDrawer(sideMenuContent);
|
sideMenu.closeDrawer(sideMenuContent);
|
||||||
} else {
|
} else {
|
||||||
sideMenu.openDrawer(sideMenuContent);
|
sideMenu.openDrawer(sideMenuContent);
|
||||||
|
@ -431,8 +434,44 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshIncallUi(){
|
private void refreshIncallUi(){
|
||||||
|
List<LinphoneCall> pausedCalls = LinphoneUtils.getCallsInState(LinphoneManager.getLc(), Arrays.asList(State.PausedByRemote));
|
||||||
|
if (pausedCalls.size() == 1) {
|
||||||
|
displayCallPaused(true);
|
||||||
|
} else {
|
||||||
|
displayCallPaused(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(LinphoneManager.getLc().getCurrentCall() != null){
|
||||||
|
if(isTransferAllowed)
|
||||||
|
enabledTransferButton(true);
|
||||||
|
if(!isVideoEnabled(LinphoneManager.getLc().getCurrentCall()))
|
||||||
|
callInfo.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(LinphoneManager.getLc().getCallsNb() > 1){
|
||||||
|
callsList.setVisibility(View.VISIBLE);
|
||||||
|
enabledConferenceButton(true);
|
||||||
|
} else {
|
||||||
|
if(LinphoneManager.getLc().getCallsNb() == 1 && LinphoneManager.getLc().getCurrentCall() == null){
|
||||||
|
callsList.setVisibility(View.VISIBLE);
|
||||||
|
if(isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
||||||
|
avatar_layout.setVisibility(View.GONE);
|
||||||
|
} else {
|
||||||
|
avatar_layout.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
if(isTransferAllowed)
|
||||||
|
enabledTransferButton(false);
|
||||||
|
} else {
|
||||||
|
callsList.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
enabledConferenceButton(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
refreshInCallActions();
|
refreshInCallActions();
|
||||||
refreshCallList(getResources());
|
refreshCallList(getResources());
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshInCallActions() {
|
private void refreshInCallActions() {
|
||||||
|
@ -463,37 +502,22 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (isSpeakerEnabled) {
|
if (isSpeakerEnabled) {
|
||||||
routeSpeaker.setBackgroundResource(R.drawable.route_speaker_selected);
|
routeSpeaker.setImageResource(R.drawable.route_speaker_selected);
|
||||||
routeEarpiece.setBackgroundResource(R.drawable.route_earpiece);
|
routeEarpiece.setImageResource(R.drawable.route_earpiece);
|
||||||
routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth);
|
routeBluetooth.setImageResource(R.drawable.route_bluetooth);
|
||||||
}
|
}
|
||||||
|
|
||||||
routeSpeaker.setBackgroundResource(R.drawable.route_speaker);
|
routeSpeaker.setImageResource(R.drawable.route_speaker);
|
||||||
if (BluetoothManager.getInstance().isUsingBluetoothAudioRoute()) {
|
if (BluetoothManager.getInstance().isUsingBluetoothAudioRoute()) {
|
||||||
routeEarpiece.setBackgroundResource(R.drawable.route_earpiece);
|
routeEarpiece.setImageResource(R.drawable.route_earpiece);
|
||||||
routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_selected);
|
routeBluetooth.setImageResource(R.drawable.route_bluetooth_selected);
|
||||||
} else {
|
} else {
|
||||||
routeEarpiece.setBackgroundResource(R.drawable.route_earpiece_selected);
|
routeEarpiece.setImageResource(R.drawable.route_earpiece_selected);
|
||||||
routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth);
|
routeBluetooth.setImageResource(R.drawable.route_bluetooth);
|
||||||
}
|
}
|
||||||
} catch (NullPointerException npe) {
|
} catch (NullPointerException npe) {
|
||||||
Log.e("Bluetooth: Audio routes menu disabled on tablets for now (4)");
|
Log.e("Bluetooth: Audio routes menu disabled on tablets for now (4)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (LinphoneManager.getLc().getCallsNb() > 1) {
|
|
||||||
//pause.setVisibility(View.GONE);
|
|
||||||
} else {
|
|
||||||
//pause.setVisibility(View.VISIBLE);
|
|
||||||
|
|
||||||
List<LinphoneCall> pausedCalls = LinphoneUtils.getCallsInState(LinphoneManager.getLc(), Arrays.asList(State.Paused));
|
|
||||||
if (pausedCalls.size() == 1) {
|
|
||||||
//pause.setBackgroundResource(R.drawable.pa);
|
|
||||||
} else {
|
|
||||||
//pause.setBackgroundResource(R.drawable.pause_off);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void enableAndRefreshInCallActions() {
|
private void enableAndRefreshInCallActions() {
|
||||||
|
@ -511,8 +535,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
transfer.setEnabled(true);
|
transfer.setEnabled(true);
|
||||||
pause.setEnabled(true);
|
pause.setEnabled(true);
|
||||||
dialer.setEnabled(true);
|
dialer.setEnabled(true);
|
||||||
conference.setEnabled(true);
|
enabledConferenceButton(true);
|
||||||
refreshInCallActions();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateStatusFragment(StatusFragment statusFragment) {
|
public void updateStatusFragment(StatusFragment statusFragment) {
|
||||||
|
@ -524,7 +547,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
int id = v.getId();
|
int id = v.getId();
|
||||||
|
|
||||||
if (isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
if (isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
||||||
displayVideoCallControlsIfHidden();
|
//displayVideoCallControlsIfHidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (id == R.id.video) {
|
if (id == R.id.video) {
|
||||||
|
@ -536,13 +559,13 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
else if (id == R.id.speaker) {
|
else if (id == R.id.speaker) {
|
||||||
toggleSpeaker();
|
toggleSpeaker();
|
||||||
}
|
}
|
||||||
else if (id == R.id.addCall) {
|
else if (id == R.id.add_call) {
|
||||||
goBackToDialer();
|
goBackToDialer();
|
||||||
}
|
}
|
||||||
else if (id == R.id.pause) {
|
else if (id == R.id.pause) {
|
||||||
pauseOrResumeCall(LinphoneManager.getLc().getCurrentCall());
|
pauseOrResumeCall(LinphoneManager.getLc().getCurrentCall());
|
||||||
}
|
}
|
||||||
else if (id == R.id.hangUp) {
|
else if (id == R.id.hang_up) {
|
||||||
hangUp();
|
hangUp();
|
||||||
}
|
}
|
||||||
else if (id == R.id.dialer) {
|
else if (id == R.id.dialer) {
|
||||||
|
@ -563,36 +586,36 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
else if (id == R.id.options) {
|
else if (id == R.id.options) {
|
||||||
hideOrDisplayCallOptions();
|
hideOrDisplayCallOptions();
|
||||||
}
|
}
|
||||||
else if (id == R.id.audioRoute) {
|
else if (id == R.id.audio_route) {
|
||||||
hideOrDisplayAudioRoutes();
|
hideOrDisplayAudioRoutes();
|
||||||
}
|
}
|
||||||
else if (id == R.id.routeBluetooth) {
|
else if (id == R.id.route_bluetooth) {
|
||||||
if (BluetoothManager.getInstance().routeAudioToBluetooth()) {
|
if (BluetoothManager.getInstance().routeAudioToBluetooth()) {
|
||||||
isSpeakerEnabled = false;
|
isSpeakerEnabled = false;
|
||||||
/*routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_on);
|
routeBluetooth.setImageResource(R.drawable.route_bluetooth_selected);
|
||||||
routeReceiver.setBackgroundResource(R.drawable.route_receiver_off);
|
routeSpeaker.setImageResource(R.drawable.route_speaker);
|
||||||
routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off);*/
|
routeEarpiece.setImageResource(R.drawable.route_earpiece);
|
||||||
}
|
}
|
||||||
hideOrDisplayAudioRoutes();
|
hideOrDisplayAudioRoutes();
|
||||||
}
|
}
|
||||||
else if (id == R.id.routeEarpiece) {
|
else if (id == R.id.route_earpiece) {
|
||||||
LinphoneManager.getInstance().routeAudioToReceiver();
|
LinphoneManager.getInstance().routeAudioToReceiver();
|
||||||
isSpeakerEnabled = false;
|
isSpeakerEnabled = false;
|
||||||
/*routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off);
|
routeBluetooth.setImageResource(R.drawable.route_bluetooth);
|
||||||
routeReceiver.setBackgroundResource(R.drawable.route_receiver_on);
|
routeSpeaker.setImageResource(R.drawable.route_speaker);
|
||||||
routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off);*/
|
routeEarpiece.setImageResource(R.drawable.route_earpiece_selected);
|
||||||
hideOrDisplayAudioRoutes();
|
hideOrDisplayAudioRoutes();
|
||||||
}
|
}
|
||||||
else if (id == R.id.routeSpeaker) {
|
else if (id == R.id.route_speaker) {
|
||||||
LinphoneManager.getInstance().routeAudioToSpeaker();
|
LinphoneManager.getInstance().routeAudioToSpeaker();
|
||||||
isSpeakerEnabled = true;
|
isSpeakerEnabled = true;
|
||||||
/*routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off);
|
routeBluetooth.setImageResource(R.drawable.route_bluetooth);
|
||||||
routeReceiver.setBackgroundResource(R.drawable.route_receiver_off);
|
routeSpeaker.setImageResource(R.drawable.route_speaker_selected);
|
||||||
routeSpeaker.setBackgroundResource(R.drawable.route_speaker_on);*/
|
routeEarpiece.setImageResource(R.drawable.route_earpiece);
|
||||||
hideOrDisplayAudioRoutes();
|
hideOrDisplayAudioRoutes();
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (id == R.id.callStatus) {
|
else if (id == R.id.call_pause) {
|
||||||
LinphoneCall call = (LinphoneCall) v.getTag();
|
LinphoneCall call = (LinphoneCall) v.getTag();
|
||||||
pauseOrResumeCall(call);
|
pauseOrResumeCall(call);
|
||||||
}
|
}
|
||||||
|
@ -604,10 +627,40 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
private void enabledVideoButton(boolean enabled){
|
private void enabledVideoButton(boolean enabled){
|
||||||
if(enabled) {
|
if(enabled) {
|
||||||
video.setEnabled(true);
|
video.setEnabled(true);
|
||||||
video.setImageResource(R.drawable.camera_default);
|
video.setAlpha(1f);
|
||||||
} else {
|
} else {
|
||||||
video.setEnabled(false);
|
video.setEnabled(false);
|
||||||
video.setImageResource(R.drawable.camera_disabled);
|
video.setAlpha(0.2f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void enabledPauseButton(boolean enabled){
|
||||||
|
if(enabled) {
|
||||||
|
pause.setEnabled(true);
|
||||||
|
pause.setImageResource(R.drawable.pause_big_default);
|
||||||
|
} else {
|
||||||
|
pause.setEnabled(false);
|
||||||
|
pause.setImageResource(R.drawable.pause_big_disabled);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void enabledTransferButton(boolean enabled){
|
||||||
|
if(enabled) {
|
||||||
|
transfer.setEnabled(true);
|
||||||
|
transfer.setImageAlpha(250);
|
||||||
|
} else {
|
||||||
|
transfer.setEnabled(false);
|
||||||
|
transfer.setImageAlpha(50);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void enabledConferenceButton(boolean enabled){
|
||||||
|
if(enabled) {
|
||||||
|
conference.setEnabled(true);
|
||||||
|
conference.setImageAlpha(250);
|
||||||
|
} else {
|
||||||
|
conference.setEnabled(false);
|
||||||
|
conference.setImageAlpha(50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -671,6 +724,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
LinphoneManager.startProximitySensorForActivity(CallActivity.this);
|
LinphoneManager.startProximitySensorForActivity(CallActivity.this);
|
||||||
replaceFragmentVideoByAudio();
|
replaceFragmentVideoByAudio();
|
||||||
displayAudioCall();
|
displayAudioCall();
|
||||||
|
showStatusBar();
|
||||||
removeCallbacks();
|
removeCallbacks();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -684,8 +738,8 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
|
|
||||||
LinphoneManager.stopProximitySensorForActivity(CallActivity.this);
|
LinphoneManager.stopProximitySensorForActivity(CallActivity.this);
|
||||||
replaceFragmentAudioByVideo();
|
replaceFragmentAudioByVideo();
|
||||||
|
hideStatusBar();
|
||||||
displayVideoCall(false);
|
displayVideoCall(false);
|
||||||
displayVideoCallControlsIfHidden();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayNoCurrentCall(boolean display){
|
private void displayNoCurrentCall(boolean display){
|
||||||
|
@ -698,6 +752,14 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void displayCallPaused(boolean display){
|
||||||
|
if(display){
|
||||||
|
mCallPaused.setVisibility(View.VISIBLE);
|
||||||
|
} else {
|
||||||
|
mCallPaused.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void displayAudioCall(){
|
private void displayAudioCall(){
|
||||||
mActiveCallHeader.setVisibility(View.VISIBLE);
|
mActiveCallHeader.setVisibility(View.VISIBLE);
|
||||||
callInfo.setVisibility(View.VISIBLE);
|
callInfo.setVisibility(View.VISIBLE);
|
||||||
|
@ -707,28 +769,6 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
switchCamera.setVisibility(View.GONE);
|
switchCamera.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayVideoCall(boolean display){
|
|
||||||
if(display) {
|
|
||||||
LinphoneActivity.instance().showStatusBar();
|
|
||||||
mControlsLayout.setVisibility(View.VISIBLE);
|
|
||||||
mActiveCallHeader.setVisibility(View.VISIBLE);
|
|
||||||
callInfo.setVisibility(View.VISIBLE);
|
|
||||||
avatar_layout.setVisibility(View.GONE);
|
|
||||||
mNoCurrentCall.setVisibility(View.GONE);
|
|
||||||
callsList.setVisibility(View.VISIBLE);
|
|
||||||
if (cameraNumber > 1) {
|
|
||||||
switchCamera.setVisibility(View.VISIBLE);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
LinphoneActivity.instance().hideStatusBar();
|
|
||||||
mControlsLayout.setVisibility(View.GONE);
|
|
||||||
mActiveCallHeader.setVisibility(View.GONE);
|
|
||||||
switchCamera.setVisibility(View.GONE);
|
|
||||||
mNoCurrentCall.setVisibility(View.GONE);
|
|
||||||
callsList.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void replaceFragmentVideoByAudio() {
|
private void replaceFragmentVideoByAudio() {
|
||||||
audioCallFragment = new CallAudioFragment();
|
audioCallFragment = new CallAudioFragment();
|
||||||
FragmentTransaction transaction = getFragmentManager().beginTransaction();
|
FragmentTransaction transaction = getFragmentManager().beginTransaction();
|
||||||
|
@ -775,17 +815,9 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pauseOrResumeCall() {
|
|
||||||
LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
|
|
||||||
if (lc != null && lc.getCallsNb() >= 1) {
|
|
||||||
LinphoneCall call = lc.getCalls()[0];
|
|
||||||
pauseOrResumeCall(call);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void pauseOrResumeCall(LinphoneCall call) {
|
public void pauseOrResumeCall(LinphoneCall call) {
|
||||||
LinphoneCore lc = LinphoneManager.getLc();
|
LinphoneCore lc = LinphoneManager.getLc();
|
||||||
if (call != null && LinphoneUtils.isCallRunning(call)) {
|
if (call != null && LinphoneManager.getLc().getCurrentCall() == call) {
|
||||||
lc.pauseCall(call);
|
lc.pauseCall(call);
|
||||||
if (isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
if (isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
||||||
isVideoCallPaused = true;
|
isVideoCallPaused = true;
|
||||||
|
@ -815,6 +847,30 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void displayVideoCall(boolean display){
|
||||||
|
if(display) {
|
||||||
|
showStatusBar();
|
||||||
|
mControlsLayout.setVisibility(View.VISIBLE);
|
||||||
|
mActiveCallHeader.setVisibility(View.VISIBLE);
|
||||||
|
callInfo.setVisibility(View.VISIBLE);
|
||||||
|
avatar_layout.setVisibility(View.GONE);
|
||||||
|
mNoCurrentCall.setVisibility(View.GONE);
|
||||||
|
callsList.setVisibility(View.VISIBLE);
|
||||||
|
if (cameraNumber > 1) {
|
||||||
|
switchCamera.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
hideStatusBar();
|
||||||
|
mControlsLayout.setVisibility(View.GONE);
|
||||||
|
mActiveCallHeader.setVisibility(View.GONE);
|
||||||
|
switchCamera.setVisibility(View.GONE);
|
||||||
|
mNoCurrentCall.setVisibility(View.GONE);
|
||||||
|
Log.w("Call list gone");
|
||||||
|
callsList.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void displayVideoCallControlsIfHidden() {
|
public void displayVideoCallControlsIfHidden() {
|
||||||
if (mControlsLayout != null) {
|
if (mControlsLayout != null) {
|
||||||
if (mControlsLayout.getVisibility() != View.VISIBLE) {
|
if (mControlsLayout.getVisibility() != View.VISIBLE) {
|
||||||
|
@ -1155,8 +1211,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
transfer.setVisibility(View.VISIBLE);
|
transfer.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
addCall.setVisibility(View.VISIBLE);
|
addCall.setVisibility(View.VISIBLE);
|
||||||
if(LinphoneManager.getLc().getCalls().length > 1)
|
conference.setVisibility(View.VISIBLE);
|
||||||
conference.setVisibility(View.VISIBLE);
|
|
||||||
options.setImageResource(R.drawable.options_selected);
|
options.setImageResource(R.drawable.options_selected);
|
||||||
} else {
|
} else {
|
||||||
if (isOrientationLandscape) {
|
if (isOrientationLandscape) {
|
||||||
|
@ -1210,6 +1265,28 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
startActivity(new Intent(this, CallIncomingActivity.class));
|
startActivity(new Intent(this, CallIncomingActivity.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void hideStatusBar() {
|
||||||
|
if (isTablet()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
findViewById(R.id.status).setVisibility(View.GONE);
|
||||||
|
findViewById(R.id.fragmentContainer).setPadding(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showStatusBar() {
|
||||||
|
if (isTablet()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (status != null && !status.isVisible()) {
|
||||||
|
// Hack to ensure statusFragment is visible after coming back to
|
||||||
|
// dialer from chat
|
||||||
|
status.getView().setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
findViewById(R.id.status).setVisibility(View.VISIBLE);
|
||||||
|
//findViewById(R.id.fragmentContainer).setPadding(0, LinphoneUtils.pixelsToDpi(getResources(), 40), 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void showAcceptCallUpdateDialog() {
|
private void showAcceptCallUpdateDialog() {
|
||||||
|
@ -1222,7 +1299,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
dialog.getWindow().setBackgroundDrawable(d);
|
dialog.getWindow().setBackgroundDrawable(d);
|
||||||
|
|
||||||
TextView customText = (TextView) dialog.findViewById(R.id.customText);
|
TextView customText = (TextView) dialog.findViewById(R.id.customText);
|
||||||
customText.setText(getResources().getString(R.string.call_update_video));
|
customText.setText(getResources().getString(R.string.add_video_dialog));
|
||||||
Button delete = (Button) dialog.findViewById(R.id.delete);
|
Button delete = (Button) dialog.findViewById(R.id.delete);
|
||||||
delete.setText(R.string.accept);
|
delete.setText(R.string.accept);
|
||||||
Button cancel = (Button) dialog.findViewById(R.id.cancel);
|
Button cancel = (Button) dialog.findViewById(R.id.cancel);
|
||||||
|
@ -1257,7 +1334,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
instance = this;
|
instance = this;
|
||||||
|
|
||||||
if (isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
if (isVideoEnabled(LinphoneManager.getLc().getCurrentCall())) {
|
||||||
displayVideoCallControlsIfHidden();
|
//displayVideoCallControlsIfHidden();
|
||||||
} else if(LinphoneManager.getLc().isInConference()) {
|
} else if(LinphoneManager.getLc().isInConference()) {
|
||||||
displayConference();
|
displayConference();
|
||||||
} else {
|
} else {
|
||||||
|
@ -1374,9 +1451,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayActiveCall(LinphoneCall call){
|
private void displayActiveCall(LinphoneCall call){
|
||||||
if(isVideoEnabled(call)){
|
if(!isVideoEnabled(call)){
|
||||||
mActiveCallHeader.setVisibility(View.GONE);
|
|
||||||
} else {
|
|
||||||
mActiveCallHeader.setVisibility(View.VISIBLE);
|
mActiveCallHeader.setVisibility(View.VISIBLE);
|
||||||
mNoCurrentCall.setVisibility(View.GONE);
|
mNoCurrentCall.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
@ -1391,7 +1466,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
lAddress= LinphoneCoreFactory.instance().createLinphoneAddress("unknown","unknown","unknown");
|
lAddress= LinphoneCoreFactory.instance().createLinphoneAddress("unknown","unknown","unknown");
|
||||||
}
|
}
|
||||||
|
|
||||||
TextView contact = (TextView) findViewById(R.id.contactNameOrNumber);
|
TextView contact = (TextView) findViewById(R.id.contact_name);
|
||||||
|
|
||||||
Contact lContact = ContactsManager.getInstance().findContactWithAddress(getContentResolver(), lAddress);
|
Contact lContact = ContactsManager.getInstance().findContactWithAddress(getContentResolver(), lAddress);
|
||||||
if (lContact == null) {
|
if (lContact == null) {
|
||||||
|
@ -1414,7 +1489,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Chronometer timer = (Chronometer) findViewById(R.id.callTimer);
|
Chronometer timer = (Chronometer) findViewById(R.id.call_timer);
|
||||||
if (timer == null) {
|
if (timer == null) {
|
||||||
throw new IllegalArgumentException("no callee_duration view found");
|
throw new IllegalArgumentException("no callee_duration view found");
|
||||||
}
|
}
|
||||||
|
@ -1434,10 +1509,10 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Control Row
|
// Control Row
|
||||||
LinearLayout callView = (LinearLayout) inflater.inflate(R.layout.active_call_control_row, container, false);
|
LinearLayout callView = (LinearLayout) inflater.inflate(R.layout.call_inactive_row, container, false);
|
||||||
callView.setId(index+1);
|
callView.setId(index+1);
|
||||||
|
|
||||||
TextView contact = (TextView) callView.findViewById(R.id.contactNameOrNumber);
|
TextView contact = (TextView) callView.findViewById(R.id.contact_name);
|
||||||
|
|
||||||
Contact lContact = ContactsManager.getInstance().findContactWithAddress(getContentResolver(), lAddress);
|
Contact lContact = ContactsManager.getInstance().findContactWithAddress(getContentResolver(), lAddress);
|
||||||
if (lContact == null) {
|
if (lContact == null) {
|
||||||
|
@ -1483,7 +1558,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
|
|
||||||
private boolean displayCallStatusIconAndReturnCallPaused(LinearLayout callView, LinphoneCall call) {
|
private boolean displayCallStatusIconAndReturnCallPaused(LinearLayout callView, LinphoneCall call) {
|
||||||
boolean isCallPaused, isInConference;
|
boolean isCallPaused, isInConference;
|
||||||
ImageView callState = (ImageView) callView.findViewById(R.id.callStatus);
|
ImageView callState = (ImageView) callView.findViewById(R.id.call_pause);
|
||||||
callState.setTag(call);
|
callState.setTag(call);
|
||||||
callState.setOnClickListener(this);
|
callState.setOnClickListener(this);
|
||||||
|
|
||||||
|
@ -1523,7 +1598,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Chronometer timer = (Chronometer) v.findViewById(R.id.callTimer);
|
Chronometer timer = (Chronometer) v.findViewById(R.id.call_timer);
|
||||||
if (timer == null) {
|
if (timer == null) {
|
||||||
throw new IllegalArgumentException("no callee_duration view found");
|
throw new IllegalArgumentException("no callee_duration view found");
|
||||||
}
|
}
|
||||||
|
@ -1541,6 +1616,7 @@ public class CallActivity extends Activity implements OnClickListener {
|
||||||
conferenceList.setVisibility(View.GONE);
|
conferenceList.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO DON'T SHOW CALLLIST IF THERE IS VIDEO CALL
|
||||||
if(callsList != null) {
|
if(callsList != null) {
|
||||||
callsList.setVisibility(View.VISIBLE);
|
callsList.setVisibility(View.VISIBLE);
|
||||||
callsList.removeAllViews();
|
callsList.removeAllViews();
|
||||||
|
|
|
@ -27,11 +27,22 @@ import org.linphone.core.LinphoneCallParams;
|
||||||
import org.linphone.core.LinphoneCore;
|
import org.linphone.core.LinphoneCore;
|
||||||
import org.linphone.core.LinphoneCoreListenerBase;
|
import org.linphone.core.LinphoneCoreListenerBase;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
|
import org.linphone.ui.LinphoneSliders;
|
||||||
import org.linphone.ui.LinphoneSliders.LinphoneSliderTriggered;
|
import org.linphone.ui.LinphoneSliders.LinphoneSliderTriggered;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.content.ClipData;
|
||||||
|
import android.content.ClipDescription;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.graphics.Point;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.PowerManager;
|
||||||
|
import android.view.DragEvent;
|
||||||
|
import android.view.GestureDetector;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
@ -44,11 +55,15 @@ public class CallIncomingActivity extends Activity implements LinphoneSliderTrig
|
||||||
private static CallIncomingActivity instance;
|
private static CallIncomingActivity instance;
|
||||||
|
|
||||||
private TextView name, number;
|
private TextView name, number;
|
||||||
private ImageView contactPicture, acceptArrow, accept, decline;
|
private ImageView contactPicture, acceptArrow, accept, acceptCall, decline;
|
||||||
private LinphoneCall mCall;
|
private LinphoneCall mCall;
|
||||||
private LinphoneCoreListenerBase mListener;
|
private LinphoneCoreListenerBase mListener;
|
||||||
private LinearLayout acceptUnlock;
|
private LinearLayout acceptUnlock;
|
||||||
|
private LinearLayout declineUnlock;
|
||||||
private StatusFragment status;
|
private StatusFragment status;
|
||||||
|
private boolean isActive;
|
||||||
|
private float answerX;
|
||||||
|
private float declineX;
|
||||||
|
|
||||||
public static CallIncomingActivity instance() {
|
public static CallIncomingActivity instance() {
|
||||||
return instance;
|
return instance;
|
||||||
|
@ -73,24 +88,113 @@ public class CallIncomingActivity extends Activity implements LinphoneSliderTrig
|
||||||
int flags = WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON;
|
int flags = WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON;
|
||||||
getWindow().addFlags(flags);
|
getWindow().addFlags(flags);
|
||||||
|
|
||||||
|
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
|
||||||
|
isActive = pm.isInteractive();
|
||||||
|
} else {
|
||||||
|
isActive = pm.isScreenOn();
|
||||||
|
}
|
||||||
|
|
||||||
|
acceptUnlock = (LinearLayout) findViewById(R.id.acceptUnlock);
|
||||||
|
declineUnlock = (LinearLayout) findViewById(R.id.declineUnlock);
|
||||||
|
//mIncomingCallWidget = (LinphoneSliders) findViewById(R.id.sliding_widget);
|
||||||
|
|
||||||
accept = (ImageView) findViewById(R.id.accept);
|
accept = (ImageView) findViewById(R.id.accept);
|
||||||
|
acceptArrow = (ImageView) findViewById(R.id.acceptArrow);
|
||||||
|
decline = (ImageView) findViewById(R.id.decline);
|
||||||
accept.setOnClickListener(new View.OnClickListener() {
|
accept.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
answer();
|
if(isActive) {
|
||||||
}
|
answer();
|
||||||
});
|
} else {
|
||||||
decline = (ImageView) findViewById(R.id.decline);
|
decline.setVisibility(View.GONE);
|
||||||
decline.setOnClickListener(new View.OnClickListener() {
|
acceptUnlock.setVisibility(View.VISIBLE);
|
||||||
@Override
|
}
|
||||||
public void onClick(View v) {
|
|
||||||
decline();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if(!isActive) {
|
||||||
|
accept.setOnTouchListener(new View.OnTouchListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onTouch(View view, MotionEvent motionEvent) {
|
||||||
|
float curX;
|
||||||
|
switch (motionEvent.getAction()) {
|
||||||
|
case MotionEvent.ACTION_DOWN:
|
||||||
|
acceptUnlock.setVisibility(View.VISIBLE);
|
||||||
|
decline.setVisibility(View.GONE);
|
||||||
|
answerX = motionEvent.getX();
|
||||||
|
break;
|
||||||
|
case MotionEvent.ACTION_MOVE:
|
||||||
|
curX = motionEvent.getX();
|
||||||
|
view.scrollBy((int) (answerX - curX), view.getScrollY());
|
||||||
|
answerX = curX;
|
||||||
|
if (curX < 50) {
|
||||||
|
answer();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MotionEvent.ACTION_UP:
|
||||||
|
view.scrollTo(0, view.getScrollY());
|
||||||
|
decline.setVisibility(View.VISIBLE);
|
||||||
|
acceptUnlock.setVisibility(View.GONE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
decline.setOnTouchListener(new View.OnTouchListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onTouch(View view, MotionEvent motionEvent) {
|
||||||
|
float curX;
|
||||||
|
switch (motionEvent.getAction()) {
|
||||||
|
case MotionEvent.ACTION_DOWN:
|
||||||
|
declineUnlock.setVisibility(View.VISIBLE);
|
||||||
|
accept.setVisibility(View.GONE);
|
||||||
|
declineX = motionEvent.getX();
|
||||||
|
break;
|
||||||
|
case MotionEvent.ACTION_MOVE:
|
||||||
|
curX = motionEvent.getX();
|
||||||
|
view.scrollBy((int) (declineX - curX), view.getScrollY());
|
||||||
|
declineX = curX;
|
||||||
|
Log.w(curX);
|
||||||
|
if (curX > 800) {
|
||||||
|
//decline();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MotionEvent.ACTION_UP:
|
||||||
|
view.scrollTo(0, view.getScrollY());
|
||||||
|
accept.setVisibility(View.VISIBLE);
|
||||||
|
declineUnlock.setVisibility(View.GONE);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
decline.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
if(isActive) {
|
||||||
|
decline();
|
||||||
|
} else {
|
||||||
|
accept.setVisibility(View.GONE);
|
||||||
|
acceptUnlock.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
mListener = new LinphoneCoreListenerBase(){
|
mListener = new LinphoneCoreListenerBase(){
|
||||||
@Override
|
@Override
|
||||||
public void callState(LinphoneCore lc, LinphoneCall call, LinphoneCall.State state, String message) {
|
public void callState(LinphoneCore lc, LinphoneCall call, State state, String message) {
|
||||||
if (call == mCall && State.CallEnd == state) {
|
if (call == mCall && State.CallEnd == state) {
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
@ -101,6 +205,7 @@ public class CallIncomingActivity extends Activity implements LinphoneSliderTrig
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
instance = this;
|
instance = this;
|
||||||
}
|
}
|
||||||
|
@ -193,13 +298,11 @@ public class CallIncomingActivity extends Activity implements LinphoneSliderTrig
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLeftHandleTriggered() {
|
public void onLeftHandleTriggered() {
|
||||||
answer();
|
|
||||||
finish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRightHandleTriggered() {
|
public void onRightHandleTriggered() {
|
||||||
decline();
|
|
||||||
finish();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -155,7 +155,7 @@ public final class LinphoneService extends Service {
|
||||||
bm = BitmapFactory.decodeResource(getResources(), R.drawable.logo_linphone_57x57);
|
bm = BitmapFactory.decodeResource(getResources(), R.drawable.logo_linphone_57x57);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
}
|
}
|
||||||
mNotif = Compatibility.createNotification(this, mNotificationTitle, "", R.drawable.status_level, IC_LEVEL_OFFLINE, bm, mNotifContentIntent, true,notifcationsPriority);
|
mNotif = Compatibility.createNotification(this, mNotificationTitle, "", R.drawable.status_level, R.drawable.logo_linphone_57x57, bm, mNotifContentIntent, true,notifcationsPriority);
|
||||||
|
|
||||||
LinphoneManager.createAndStart(LinphoneService.this);
|
LinphoneManager.createAndStart(LinphoneService.this);
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ public final class LinphoneService extends Service {
|
||||||
@Override
|
@Override
|
||||||
public void globalState(LinphoneCore lc,LinphoneCore.GlobalState state, String message) {
|
public void globalState(LinphoneCore lc,LinphoneCore.GlobalState state, String message) {
|
||||||
if (state == GlobalState.GlobalOn) {
|
if (state == GlobalState.GlobalOn) {
|
||||||
sendNotification(IC_LEVEL_OFFLINE, R.string.notification_started);
|
sendNotification(IC_LEVEL_ORANGE, R.string.notification_started);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,11 +216,11 @@ public final class LinphoneService extends Service {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((state == RegistrationState.RegistrationFailed || state == RegistrationState.RegistrationCleared) && (LinphoneManager.getLc().getDefaultProxyConfig() == null || !LinphoneManager.getLc().getDefaultProxyConfig().isRegistered())) {
|
if ((state == RegistrationState.RegistrationFailed || state == RegistrationState.RegistrationCleared) && (LinphoneManager.getLc().getDefaultProxyConfig() == null || !LinphoneManager.getLc().getDefaultProxyConfig().isRegistered())) {
|
||||||
sendNotification(IC_LEVEL_OFFLINE, R.string.notification_register_failure);
|
sendNotification(IC_LEVEL_ORANGE, R.string.notification_register_failure);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state == RegistrationState.RegistrationNone) {
|
if (state == RegistrationState.RegistrationNone) {
|
||||||
sendNotification(IC_LEVEL_OFFLINE, R.string.notification_started);
|
sendNotification(IC_LEVEL_ORANGE, R.string.notification_started);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -293,7 +293,7 @@ public final class LinphoneService extends Service {
|
||||||
notificationTextId = R.string.incall_notif_active;
|
notificationTextId = R.string.incall_notif_active;
|
||||||
break;
|
break;
|
||||||
case PAUSE:
|
case PAUSE:
|
||||||
inconId = R.drawable.conf_status_paused;
|
inconId = R.drawable.topbar_call_notification;
|
||||||
notificationTextId = R.string.incall_notif_paused;
|
notificationTextId = R.string.incall_notif_paused;
|
||||||
break;
|
break;
|
||||||
case VIDEO:
|
case VIDEO:
|
||||||
|
|
|
@ -36,8 +36,11 @@ import org.linphone.mediastream.Log;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
|
import android.graphics.drawable.ColorDrawable;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
|
@ -45,6 +48,9 @@ import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.view.Window;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
import android.widget.Button;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
@ -86,8 +92,8 @@ public class StatusFragment extends Fragment {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(lc.getProxyConfigList() == null){
|
if(lc.getProxyConfigList() == null){
|
||||||
statusLed.setVisibility(View.INVISIBLE);
|
statusLed.setImageResource(R.drawable.led_disconnected);
|
||||||
statusText.setText("");
|
statusText.setText(getString(R.string.no_account));
|
||||||
} else {
|
} else {
|
||||||
statusLed.setVisibility(View.VISIBLE);
|
statusLed.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
@ -191,8 +197,8 @@ public class StatusFragment extends Fragment {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(LinphoneManager.getLc().getProxyConfigList().length == 0){
|
if(LinphoneManager.getLc().getProxyConfigList().length == 0){
|
||||||
statusLed.setVisibility(View.INVISIBLE);
|
statusLed.setImageResource(R.drawable.led_disconnected);
|
||||||
statusText.setText("");
|
statusText.setText(getString(R.string.no_account));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -372,33 +378,52 @@ public class StatusFragment extends Fragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showZRTPDialog(final LinphoneCall call) {
|
public void showZRTPDialog(final LinphoneCall call) {
|
||||||
if (getActivity() == null) {
|
if (getActivity() == null) {
|
||||||
Log.w("Can't display ZRTP popup, no Activity");
|
Log.w("Can't display ZRTP popup, no Activity");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
new AlertDialog.Builder(getActivity())
|
|
||||||
.setTitle(call.getAuthenticationToken())
|
final Dialog dialog = new Dialog(getActivity());
|
||||||
.setMessage(getString(R.string.zrtp_help))
|
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||||
.setPositiveButton(R.string.zrtp_accept, new DialogInterface.OnClickListener() {
|
Drawable d = new ColorDrawable(getResources().getColor(R.color.colorC));
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
d.setAlpha(200);
|
||||||
call.setAuthenticationTokenVerified(true);
|
dialog.setContentView(R.layout.dialog);
|
||||||
|
dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
|
||||||
|
dialog.getWindow().setBackgroundDrawable(d);
|
||||||
|
|
||||||
|
TextView customText = (TextView) dialog.findViewById(R.id.customText);
|
||||||
|
String newText = getString(R.string.zrtp_dialog).replace("%s",call.getAuthenticationToken());
|
||||||
|
customText.setText(newText);
|
||||||
|
Button delete = (Button) dialog.findViewById(R.id.delete);
|
||||||
|
delete.setText(R.string.accept);
|
||||||
|
Button cancel = (Button) dialog.findViewById(R.id.cancel);
|
||||||
|
cancel.setText(R.string.deny);
|
||||||
|
|
||||||
|
delete.setOnClickListener(new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
call.setAuthenticationTokenVerified(true);
|
||||||
|
if (encryption != null) {
|
||||||
|
encryption.setImageResource(R.drawable.security_ok);
|
||||||
|
}
|
||||||
|
dialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
cancel.setOnClickListener(new OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
if (call != null) {
|
||||||
|
call.setAuthenticationTokenVerified(false);
|
||||||
if (encryption != null) {
|
if (encryption != null) {
|
||||||
encryption.setImageResource(R.drawable.security_ok);
|
encryption.setImageResource(R.drawable.security_pending);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
dialog.dismiss();
|
||||||
.setNegativeButton(R.string.zrtp_deny, new DialogInterface.OnClickListener() {
|
}
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
});
|
||||||
if (call != null) {
|
dialog.show();
|
||||||
call.setAuthenticationTokenVerified(false);
|
|
||||||
if (encryption != null) {
|
|
||||||
encryption.setImageResource(R.drawable.security_pending);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initCallStatsRefresher(final LinphoneCall call, final View view) {
|
public void initCallStatsRefresher(final LinphoneCall call, final View view) {
|
||||||
|
|
Loading…
Reference in a new issue