Merge branch 'development'
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="eu.siacs.conversations"
|
package="eu.siacs.conversations"
|
||||||
android:versionCode="26"
|
android:versionCode="27"
|
||||||
android:versionName="0.7" >
|
android:versionName="0.7.1" >
|
||||||
|
|
||||||
<uses-sdk
|
<uses-sdk
|
||||||
android:minSdkVersion="14"
|
android:minSdkVersion="14"
|
||||||
|
|
25
README.md
|
@ -15,7 +15,9 @@ Conversations - the very last word in instant messaging
|
||||||
##Features
|
##Features
|
||||||
* End-to-end encryption with either OTR or openPGP
|
* End-to-end encryption with either OTR or openPGP
|
||||||
* Sending and receiving images
|
* Sending and receiving images
|
||||||
|
* Indication when your contact has read your message
|
||||||
* Intuitive UI that follows Android Design guidelines
|
* Intuitive UI that follows Android Design guidelines
|
||||||
|
* Pictures / Avatars for your Contacts
|
||||||
* Syncs with desktop client
|
* Syncs with desktop client
|
||||||
* Conferences (with support for bookmarks)
|
* Conferences (with support for bookmarks)
|
||||||
* Address book integration
|
* Address book integration
|
||||||
|
@ -119,6 +121,29 @@ details within Conversations. This will start an add to address book intent with
|
||||||
as payload. This doesn’t require Conversations to have write permissions on your
|
as payload. This doesn’t require Conversations to have write permissions on your
|
||||||
address book but also doesn’t require you to copy past Jabber ID from one app to
|
address book but also doesn’t require you to copy past Jabber ID from one app to
|
||||||
another.
|
another.
|
||||||
|
|
||||||
|
####I get 'delivery failed' on my messages
|
||||||
|
If you get delivery failed on images it’s probably because the recipient lost
|
||||||
|
network connectivity during recepiton. In that case you can try it again at a
|
||||||
|
later time.
|
||||||
|
|
||||||
|
For text messages the answer to your question is a little bit more complex.
|
||||||
|
'delivery failed' on text messages is always something that is being reported by
|
||||||
|
the server. The most common reason for this is that the recipient failed to
|
||||||
|
resume a connection. When a client loses connectivity for a short time the client
|
||||||
|
usually has a five minute window to pick up that connection again. When the
|
||||||
|
client fails to do so because the network connectivity is out for longer than
|
||||||
|
that all messages sent to that client will be returned to the sender resulting
|
||||||
|
in a delivery failed.
|
||||||
|
|
||||||
|
Other less common reasons are that the message you sent didn’t meet some
|
||||||
|
criterias enforced by the server. (Too large, too many) Another reason could be
|
||||||
|
that the recipient is offline and the server doesn’t provide offline storage.
|
||||||
|
|
||||||
|
Usually you are able to distinguish between these two groups in the fact that
|
||||||
|
the first one happens always after some time and the second one happens almost
|
||||||
|
instantly.
|
||||||
|
|
||||||
####Where can I see the status of my contacts? How can I set a status or priority
|
####Where can I see the status of my contacts? How can I set a status or priority
|
||||||
Status are a horrible metric. Setting them manually to a proper value rarely
|
Status are a horrible metric. Setting them manually to a proper value rarely
|
||||||
works because users are either lazy or just forget about them. Setting them
|
works because users are either lazy or just forget about them. Setting them
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
id="svg3621"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.4 r9939"
|
||||||
|
width="96"
|
||||||
|
height="96"
|
||||||
|
sodipodi:docname="ic_action_send_now.svg"
|
||||||
|
inkscape:export-filename="/home/daniel/workspace/Conversations/res/drawable-xxhdpi/ic_action_send_now_online.png"
|
||||||
|
inkscape:export-xdpi="154.28572"
|
||||||
|
inkscape:export-ydpi="154.28572">
|
||||||
|
<metadata
|
||||||
|
id="metadata3627">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs3625" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1916"
|
||||||
|
inkscape:window-height="1161"
|
||||||
|
id="namedview3623"
|
||||||
|
showgrid="true"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:zoom="1"
|
||||||
|
inkscape:cx="47.28873"
|
||||||
|
inkscape:cy="43.262706"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="18"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="svg3621">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid3631" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<path
|
||||||
|
style="fill:#e51c28;fill-opacity:0.627451;stroke:none"
|
||||||
|
d="M 20.012575,21.028577 76,49 20.012575,77.028577 26,52 58.012575,49.028577 26,46 z"
|
||||||
|
id="path3633"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccc"
|
||||||
|
inkscape:export-filename="/home/daniel/workspace/Conversations/res/drawable-mdpi/ic_action_send_now_dnd.png"
|
||||||
|
inkscape:export-xdpi="51.42857"
|
||||||
|
inkscape:export-ydpi="51.42857" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
|
@ -0,0 +1,17 @@
|
||||||
|
* XEP-0030: Service Discovery
|
||||||
|
* XEP-0045: Multi-User Chat
|
||||||
|
* XEP-0048: Bookmarks
|
||||||
|
* XEP-0115: Entity Capabilities
|
||||||
|
* XEP-0138: Stream Compression
|
||||||
|
* XEP-0163: Personal Eventing Protocol (avatars and nicks)
|
||||||
|
* XEP-0166: Jingle (only used for file transfer)
|
||||||
|
* XEP-0184: Message Delivery Receipts (reply only)
|
||||||
|
* XEP-0198: Stream Management
|
||||||
|
* XEP-0234: Jingle File Transfer
|
||||||
|
* XEP-0237: Roster Versioning
|
||||||
|
* XEP-0249: Direct MUC Invitations (receiving only)
|
||||||
|
* XEP-0260: Jingle SOCKS5 Bytestreams Transport Method
|
||||||
|
* XEP-0261: Jingle In-Band Bytestreams Transport Method
|
||||||
|
* XEP-0280: Message Carbons
|
||||||
|
* XEP-0333: Chat Markers
|
||||||
|
* XEP-0352: Client State Indication
|
Before Width: | Height: | Size: 578 B |
After Width: | Height: | Size: 932 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 767 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 650 B |
After Width: | Height: | Size: 784 B |
After Width: | Height: | Size: 535 B |
After Width: | Height: | Size: 779 B |
Before Width: | Height: | Size: 759 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 968 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
|
@ -1,19 +1,21 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<!-- Non focused states -->
|
<!-- Non focused states -->
|
||||||
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@android:color/transparent" />
|
<item android:drawable="@android:color/transparent" android:state_focused="false" android:state_pressed="false" android:state_selected="false"/>
|
||||||
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_conversations" />
|
<item android:drawable="@drawable/tab_selected_conversations" android:state_focused="false" android:state_pressed="false" android:state_selected="true"/>
|
||||||
|
|
||||||
<!-- Focused states -->
|
<!-- Focused states -->
|
||||||
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused_conversations" />
|
<item android:drawable="@drawable/tab_unselected_focused_conversations" android:state_focused="true" android:state_pressed="false" android:state_selected="false"/>
|
||||||
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_focused_conversations" />
|
<item android:drawable="@drawable/tab_selected_focused_conversations" android:state_focused="true" android:state_pressed="false" android:state_selected="true"/>
|
||||||
|
|
||||||
<!-- Pressed -->
|
<!-- Pressed -->
|
||||||
<!-- Non focused states -->
|
<!-- Non focused states -->
|
||||||
<item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_conversations" />
|
<item android:drawable="@drawable/tab_unselected_pressed_conversations" android:state_focused="false" android:state_pressed="true" android:state_selected="false"/>
|
||||||
<item android:state_focused="false" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_conversations" />
|
<item android:drawable="@drawable/tab_selected_pressed_conversations" android:state_focused="false" android:state_pressed="true" android:state_selected="true"/>
|
||||||
|
|
||||||
<!-- Focused states -->
|
<!-- Focused states -->
|
||||||
<item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_conversations" />
|
<item android:drawable="@drawable/tab_unselected_pressed_conversations" android:state_focused="true" android:state_pressed="true" android:state_selected="false"/>
|
||||||
<item android:state_focused="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_conversations" />
|
<item android:drawable="@drawable/tab_selected_pressed_conversations" android:state_focused="true" android:state_pressed="true" android:state_selected="true"/>
|
||||||
</selector>
|
|
||||||
|
</selector>
|
|
@ -1,7 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
<gradient
|
|
||||||
|
<gradient
|
||||||
android:endColor="@color/divider"
|
android:endColor="@color/divider"
|
||||||
android:startColor="@android:color/transparent" />
|
android:startColor="@android:color/transparent" />
|
||||||
<size android:width="3.0dp" android:height="0.5dp" />
|
|
||||||
|
<size
|
||||||
|
android:height="0.5dp"
|
||||||
|
android:width="3.0dp" />
|
||||||
|
|
||||||
</shape>
|
</shape>
|
|
@ -1,5 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:shape="rectangle">
|
android:shape="rectangle" >
|
||||||
|
|
||||||
<solid android:color="#ffdddddd" />
|
<solid android:color="#ffdddddd" />
|
||||||
|
|
||||||
</shape>
|
</shape>
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item
|
|
||||||
android:state_pressed="true"
|
<item android:drawable="@drawable/grey" android:state_pressed="true"/>
|
||||||
android:drawable="@drawable/grey" />
|
|
||||||
</selector>
|
</selector>
|
|
@ -1,6 +1,15 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
<corners android:radius="2dp"/>
|
android:shape="rectangle" >
|
||||||
<padding android:left="1.5dp" android:right="1.5dp" android:top="1.5dp" android:bottom="1.5dp"/>
|
|
||||||
<solid android:color="@color/divider"/>
|
<corners android:radius="2dp" />
|
||||||
|
|
||||||
|
<padding
|
||||||
|
android:bottom="1.5dp"
|
||||||
|
android:left="1.5dp"
|
||||||
|
android:right="1.5dp"
|
||||||
|
android:top="1.5dp" />
|
||||||
|
|
||||||
|
<solid android:color="@color/divider" />
|
||||||
|
|
||||||
</shape>
|
</shape>
|
|
@ -7,4 +7,5 @@
|
||||||
android:width="2000dp" />
|
android:width="2000dp" />
|
||||||
|
|
||||||
<solid android:color="@color/divider" />
|
<solid android:color="@color/divider" />
|
||||||
|
|
||||||
</shape>
|
</shape>
|
|
@ -1,6 +1,14 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
<solid android:color="@color/darkbackground"/>
|
|
||||||
<corners android:radius="8dip"/>
|
<solid android:color="@color/darkbackground" />
|
||||||
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
|
|
||||||
|
<corners android:radius="8dip" />
|
||||||
|
|
||||||
|
<padding
|
||||||
|
android:bottom="0dip"
|
||||||
|
android:left="0dip"
|
||||||
|
android:right="0dip"
|
||||||
|
android:top="0dip" />
|
||||||
|
|
||||||
</shape>
|
</shape>
|
|
@ -1,30 +1,30 @@
|
||||||
<android.support.v4.widget.SlidingPaneLayout
|
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
android:id="@+id/slidingpanelayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent" >
|
||||||
android:id="@+id/slidingpanelayout">
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="324dp"
|
android:layout_width="324dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
>
|
android:orientation="vertical" >
|
||||||
|
|
||||||
<ListView
|
<ListView
|
||||||
android:id="@+id/list"
|
android:id="@+id/list"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:divider="@color/divider"
|
|
||||||
android:dividerHeight="1dp"
|
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
/>
|
android:divider="@color/divider"
|
||||||
|
android:dividerHeight="1dp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
<LinearLayout
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/selected_conversation"
|
android:id="@+id/selected_conversation"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical" >
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</android.support.v4.widget.SlidingPaneLayout>
|
</android.support.v4.widget.SlidingPaneLayout>
|
|
@ -1,30 +1,30 @@
|
||||||
<android.support.v4.widget.SlidingPaneLayout
|
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
android:id="@+id/slidingpanelayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent" >
|
||||||
android:id="@+id/slidingpanelayout">
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="345dp"
|
android:layout_width="345dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
>
|
android:orientation="vertical" >
|
||||||
|
|
||||||
<ListView
|
<ListView
|
||||||
android:id="@+id/list"
|
android:id="@+id/list"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:divider="@color/divider"
|
|
||||||
android:dividerHeight="1dp"
|
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
/>
|
android:divider="@color/divider"
|
||||||
|
android:dividerHeight="1dp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
<LinearLayout
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/selected_conversation"
|
android:id="@+id/selected_conversation"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical" >
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</android.support.v4.widget.SlidingPaneLayout>
|
</android.support.v4.widget.SlidingPaneLayout>
|
|
@ -1,30 +1,30 @@
|
||||||
<android.support.v4.widget.SlidingPaneLayout
|
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
android:id="@+id/slidingpanelayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent" >
|
||||||
android:id="@+id/slidingpanelayout">
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="240dp"
|
android:layout_width="240dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
>
|
android:orientation="vertical" >
|
||||||
|
|
||||||
<ListView
|
<ListView
|
||||||
android:id="@+id/list"
|
android:id="@+id/list"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:divider="@color/divider"
|
|
||||||
android:dividerHeight="1dp"
|
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
/>
|
android:divider="@color/divider"
|
||||||
|
android:dividerHeight="1dp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
<LinearLayout
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/selected_conversation"
|
android:id="@+id/selected_conversation"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical" >
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</android.support.v4.widget.SlidingPaneLayout>
|
</android.support.v4.widget.SlidingPaneLayout>
|
|
@ -1,30 +1,30 @@
|
||||||
<android.support.v4.widget.SlidingPaneLayout
|
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
android:id="@+id/slidingpanelayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent" >
|
||||||
android:id="@+id/slidingpanelayout">
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="288dp"
|
android:layout_width="288dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
>
|
android:orientation="vertical" >
|
||||||
|
|
||||||
<ListView
|
<ListView
|
||||||
android:id="@+id/list"
|
android:id="@+id/list"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:divider="@color/divider"
|
|
||||||
android:dividerHeight="1dp"
|
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
/>
|
android:divider="@color/divider"
|
||||||
|
android:dividerHeight="1dp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
<LinearLayout
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/selected_conversation"
|
android:id="@+id/selected_conversation"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical" >
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</android.support.v4.widget.SlidingPaneLayout>
|
</android.support.v4.widget.SlidingPaneLayout>
|
|
@ -16,8 +16,8 @@
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_toRightOf="@+id/account_image"
|
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_toRightOf="@+id/account_image"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingLeft="8dp" >
|
android:paddingLeft="8dp" >
|
||||||
|
|
||||||
|
@ -35,9 +35,9 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/account_status_unknown"
|
android:text="@string/account_status_unknown"
|
||||||
android:textSize="?attr/TextSizeBody"
|
|
||||||
android:textColor="@color/secondarytext"
|
android:textColor="@color/secondarytext"
|
||||||
android:textStyle="bold"/>
|
android:textSize="?attr/TextSizeBody"
|
||||||
|
android:textStyle="bold" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
|
@ -14,6 +14,6 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:inputType="textEmailAddress|textNoSuggestions"
|
android:inputType="textEmailAddress|textNoSuggestions"
|
||||||
android:textColor="@color/ondarktext"/>
|
android:textColor="@color/ondarktext" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
|
@ -2,12 +2,12 @@
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@color/primarybackground">
|
android:background="@color/primarybackground" >
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical" >
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/sectionHeader"
|
style="@style/sectionHeader"
|
||||||
|
@ -15,19 +15,20 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
android:text="@string/action_contact_details"
|
android:text="@string/action_contact_details"
|
||||||
android:textColor="@color/primarytext"/>
|
android:textColor="@color/primarytext" />
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:minHeight="88dp"
|
android:minHeight="88dp"
|
||||||
android:padding="8dp">
|
android:padding="8dp" >
|
||||||
|
|
||||||
<QuickContactBadge
|
<QuickContactBadge
|
||||||
android:id="@+id/details_contact_badge"
|
android:id="@+id/details_contact_badge"
|
||||||
android:layout_width="72dp"
|
android:layout_width="72dp"
|
||||||
android:layout_height="72dp"
|
android:layout_height="72dp"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:scaleType="centerCrop"/>
|
android:scaleType="centerCrop" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/details_jidbox"
|
android:id="@+id/details_jidbox"
|
||||||
|
@ -44,67 +45,69 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textColor="@color/primarytext"
|
||||||
android:textColor="@color/primarytext"/>
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/details_contactstatus"
|
android:id="@+id/details_contactstatus"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingLeft="16dp"
|
android:paddingLeft="16dp"
|
||||||
android:textSize="?attr/TextSizeHeadline"
|
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
|
android:textSize="?attr/TextSizeHeadline"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/details_lastseen"
|
android:id="@+id/details_lastseen"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textColor="@color/primarytext"
|
||||||
android:textColor="@color/primarytext"/>
|
android:textSize="?attr/TextSizeBody" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/sectionHeader"
|
style="@style/sectionHeader"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
android:text="@string/your_account"
|
android:text="@string/your_account"
|
||||||
android:textColor="@color/primarytext"/>
|
android:textColor="@color/primarytext" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/details_account"
|
android:id="@+id/details_account"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textColor="@color/primarytext"
|
||||||
android:textColor="@color/primarytext" />
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/sectionHeader"
|
style="@style/sectionHeader"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="8dp"
|
android:padding="8dp"
|
||||||
android:text="@string/subscriptions"
|
android:text="@string/subscriptions"
|
||||||
android:textColor="@color/primarytext"/>
|
android:textColor="@color/primarytext" />
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/details_send_presence"
|
android:id="@+id/details_send_presence"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/send_presence_updates"
|
android:text="@string/send_presence_updates"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textColor="@color/primarytext"
|
||||||
android:textColor="@color/primarytext" />
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/details_receive_presence"
|
android:id="@+id/details_receive_presence"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/receive_presence_updates"
|
android:text="@string/receive_presence_updates"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textColor="@color/primarytext"
|
||||||
android:textColor="@color/primarytext" />
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/sectionHeader"
|
style="@style/sectionHeader"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -116,10 +119,10 @@
|
||||||
android:id="@+id/details_contact_keys"
|
android:id="@+id/details_contact_keys"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
|
||||||
android:divider="?android:dividerHorizontal"
|
android:divider="?android:dividerHorizontal"
|
||||||
android:showDividers="middle">
|
android:orientation="vertical"
|
||||||
|
android:showDividers="middle" >
|
||||||
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
</ScrollView>
|
</ScrollView>
|
|
@ -24,7 +24,7 @@
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:text="@string/account_settings_example_jabber_id"
|
android:text="@string/account_settings_example_jabber_id"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
android:textSize="?attr/TextSizeBody"/>
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/sectionHeader"
|
style="@style/sectionHeader"
|
||||||
|
@ -82,9 +82,8 @@
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:background="?android:selectableItemBackground"
|
android:background="?android:selectableItemBackground"
|
||||||
android:src="@drawable/ic_action_edit_dark"
|
android:padding="8dp"
|
||||||
android:padding="8dp"/>
|
android:src="@drawable/ic_action_edit_dark" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|
|
@ -77,9 +77,9 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:layout_above="@+id/button_bar"
|
android:layout_above="@+id/button_bar"
|
||||||
android:layout_below="@+id/secondary_hint"
|
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_alignParentLeft="true"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
|
android:layout_below="@+id/secondary_hint"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
|
@ -90,17 +90,17 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
android:textSize="?attr/TextSizeHeadline"/>
|
android:textSize="?attr/TextSizeHeadline" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/hint_or_warning"
|
android:id="@+id/hint_or_warning"
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:minLines="3"
|
||||||
android:text="@string/publish_avatar_explanation"
|
android:text="@string/publish_avatar_explanation"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textSize="?attr/TextSizeBody" />
|
||||||
android:minLines="3" />
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
|
@ -3,6 +3,6 @@
|
||||||
android:id="@+id/start_conversation_view_pager"
|
android:id="@+id/start_conversation_view_pager"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@color/primarybackground">
|
android:background="@color/primarybackground" >
|
||||||
|
|
||||||
</android.support.v4.view.ViewPager>
|
</android.support.v4.view.ViewPager>
|
|
@ -27,8 +27,8 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textSize="?attr/TextSizeHeadline"
|
android:textColor="@color/primarytext"
|
||||||
android:textColor="@color/primarytext" />
|
android:textSize="?attr/TextSizeHeadline" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/contact_jid"
|
android:id="@+id/contact_jid"
|
||||||
|
|
|
@ -32,9 +32,9 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:padding="8dp"
|
|
||||||
android:background="?android:selectableItemBackground"
|
android:background="?android:selectableItemBackground"
|
||||||
|
android:padding="8dp"
|
||||||
android:src="@drawable/ic_action_remove"
|
android:src="@drawable/ic_action_remove"
|
||||||
android:visibility="invisible"/>
|
android:visibility="invisible" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
|
@ -2,22 +2,21 @@
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:padding="8dp">
|
android:padding="8dp" >
|
||||||
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/conversation_image"
|
android:id="@+id/conversation_image"
|
||||||
android:layout_width="56dp"
|
android:layout_width="56dp"
|
||||||
android:layout_height="56dp"
|
android:layout_height="56dp"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_alignParentLeft="true"
|
||||||
android:scaleType="centerCrop"/>
|
android:scaleType="centerCrop" />
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_toRightOf="@+id/conversation_image"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:paddingLeft="8dp">
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_toRightOf="@+id/conversation_image"
|
||||||
|
android:paddingLeft="8dp" >
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/conversation_name"
|
android:id="@+id/conversation_name"
|
||||||
|
@ -26,27 +25,26 @@
|
||||||
android:layout_alignLeft="@+id/conversation_lastwrapper"
|
android:layout_alignLeft="@+id/conversation_lastwrapper"
|
||||||
android:layout_toLeftOf="@+id/conversation_lastupdate"
|
android:layout_toLeftOf="@+id/conversation_lastupdate"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textSize="?attr/TextSizeHeadline"
|
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
|
android:textSize="?attr/TextSizeHeadline"
|
||||||
android:typeface="sans" />
|
android:typeface="sans" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:orientation="vertical"
|
|
||||||
android:id="@+id/conversation_lastwrapper"
|
android:id="@+id/conversation_lastwrapper"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@id/conversation_name"
|
android:layout_below="@id/conversation_name"
|
||||||
android:paddingTop="3dp"
|
android:orientation="vertical"
|
||||||
>
|
android:paddingTop="3dp" >
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/conversation_lastmsg"
|
android:id="@+id/conversation_lastmsg"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="?attr/TextSizeBody"
|
|
||||||
android:textColor="@color/primarytext"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
/>
|
android:singleLine="true"
|
||||||
|
android:textColor="@color/primarytext"
|
||||||
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/conversation_lastimage"
|
android:id="@+id/conversation_lastimage"
|
||||||
|
@ -54,8 +52,8 @@
|
||||||
android:layout_height="36dp"
|
android:layout_height="36dp"
|
||||||
android:background="@color/primarytext"
|
android:background="@color/primarytext"
|
||||||
android:scaleType="centerCrop" />
|
android:scaleType="centerCrop" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/conversation_lastupdate"
|
android:id="@+id/conversation_lastupdate"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -63,10 +61,8 @@
|
||||||
android:layout_alignBaseline="@+id/conversation_name"
|
android:layout_alignBaseline="@+id/conversation_name"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:gravity="right"
|
android:gravity="right"
|
||||||
android:textSize="?attr/TextSizeInfo"
|
android:textColor="@color/secondarytext"
|
||||||
android:textColor="@color/secondarytext"/>
|
android:textSize="?attr/TextSizeInfo" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
|
@ -3,15 +3,16 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="8dp">
|
android:padding="8dp" >
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/your_account"
|
android:id="@+id/your_account"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:text="@string/your_account"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
android:text="@string/your_account" />
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<Spinner
|
<Spinner
|
||||||
android:id="@+id/account"
|
android:id="@+id/account"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
|
@ -19,20 +20,20 @@
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/jabber_id"
|
android:id="@+id/jabber_id"
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:layout_marginTop="8dp"
|
||||||
|
android:text="@string/account_settings_jabber_id"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
android:text="@string/account_settings_jabber_id" />
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<AutoCompleteTextView
|
<AutoCompleteTextView
|
||||||
android:id="@+id/jid"
|
android:id="@+id/jid"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:inputType="textEmailAddress"
|
|
||||||
android:hint="@string/account_settings_example_jabber_id"
|
android:hint="@string/account_settings_example_jabber_id"
|
||||||
android:textColorHint="@color/secondarytext"
|
android:inputType="textEmailAddress"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
/>
|
android:textColorHint="@color/secondarytext" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
|
@ -3,16 +3,19 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="8dp">
|
android:padding="8dp" >
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="8dp"
|
||||||
android:text="@string/clear_histor_msg"
|
android:text="@string/clear_histor_msg"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textSize="?attr/TextSizeBody" />
|
||||||
android:paddingBottom="8dp"/>
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/end_conversation_checkbox"
|
android:id="@+id/end_conversation_checkbox"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/also_end_conversation"/>
|
android:text="@string/also_end_conversation" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
|
@ -3,9 +3,9 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingLeft="8dp"
|
|
||||||
android:paddingBottom="16dp"
|
android:paddingBottom="16dp"
|
||||||
android:paddingRight="8dp">
|
android:paddingLeft="8dp"
|
||||||
|
android:paddingRight="8dp" >
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -13,45 +13,48 @@
|
||||||
android:paddingTop="8dp"
|
android:paddingTop="8dp"
|
||||||
android:text="Jabber ID"
|
android:text="Jabber ID"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
android:textSize="?attr/TextSizeHeadline"/>
|
android:textSize="?attr/TextSizeHeadline" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/verify_otr_jid"
|
android:id="@+id/verify_otr_jid"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textColor="@color/secondarytext"
|
||||||
android:textColor="@color/secondarytext"/>
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingTop="8dp"
|
android:paddingTop="8dp"
|
||||||
android:text="@string/otr_fingerprint"
|
android:text="@string/otr_fingerprint"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
android:textSize="?attr/TextSizeHeadline"/>
|
android:textSize="?attr/TextSizeHeadline" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/verify_otr_fingerprint"
|
android:id="@+id/verify_otr_fingerprint"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
|
android:textColor="@color/secondarytext"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textSize="?attr/TextSizeBody"
|
||||||
android:typeface="monospace"
|
android:typeface="monospace" />
|
||||||
android:textColor="@color/secondarytext"/>
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingTop="8dp"
|
android:paddingTop="8dp"
|
||||||
android:text="@string/your_fingerprint"
|
android:text="@string/your_fingerprint"
|
||||||
android:textSize="?attr/TextSizeHeadline"
|
android:textColor="@color/primarytext"
|
||||||
android:textColor="@color/primarytext"/>
|
android:textSize="?attr/TextSizeHeadline" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/verify_otr_yourprint"
|
android:id="@+id/verify_otr_yourprint"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
|
android:textColor="@color/secondarytext"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textSize="?attr/TextSizeBody"
|
||||||
android:typeface="monospace"
|
android:typeface="monospace" />
|
||||||
android:textColor="@color/secondarytext"/>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
|
@ -5,8 +5,6 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@color/secondarybackground" >
|
android:background="@color/secondarybackground" >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<ListView
|
<ListView
|
||||||
android:id="@+id/messages_view"
|
android:id="@+id/messages_view"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
|
@ -39,6 +37,7 @@
|
||||||
android:layout_toLeftOf="@+id/textSendButton"
|
android:layout_toLeftOf="@+id/textSendButton"
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
|
android:imeOptions="flagNoExtractUi"
|
||||||
android:inputType="textShortMessage|textMultiLine|textCapSentences"
|
android:inputType="textShortMessage|textMultiLine|textCapSentences"
|
||||||
android:minHeight="48dp"
|
android:minHeight="48dp"
|
||||||
android:minLines="1"
|
android:minLines="1"
|
||||||
|
@ -46,8 +45,8 @@
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
android:paddingRight="8dp"
|
android:paddingRight="8dp"
|
||||||
android:paddingTop="12dp"
|
android:paddingTop="12dp"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext" >
|
||||||
android:imeOptions="flagNoExtractUi">
|
|
||||||
<requestFocus />
|
<requestFocus />
|
||||||
</eu.siacs.conversations.ui.EditMessage>
|
</eu.siacs.conversations.ui.EditMessage>
|
||||||
|
|
||||||
|
@ -58,7 +57,7 @@
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:background="?android:selectableItemBackground"
|
android:background="?android:selectableItemBackground"
|
||||||
android:src="@drawable/ic_action_send_now" />
|
android:src="@drawable/ic_action_send_now_offline" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
|
@ -66,11 +65,11 @@
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_above="@+id/textsend"
|
android:layout_above="@+id/textsend"
|
||||||
android:background="@drawable/snackbar"
|
android:layout_marginBottom="4dp"
|
||||||
android:minHeight="48dp"
|
|
||||||
android:layout_marginLeft="8dp"
|
android:layout_marginLeft="8dp"
|
||||||
android:layout_marginRight="8dp"
|
android:layout_marginRight="8dp"
|
||||||
android:layout_marginBottom="4dp"
|
android:background="@drawable/snackbar"
|
||||||
|
android:minHeight="48dp"
|
||||||
android:visibility="gone" >
|
android:visibility="gone" >
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -79,10 +78,10 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_alignParentLeft="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_toLeftOf="@+id/snackbar_action"
|
||||||
android:paddingLeft="24dp"
|
android:paddingLeft="24dp"
|
||||||
android:textColor="@color/ondarktext"
|
android:textColor="@color/ondarktext"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:textSize="?attr/TextSizeBody" />
|
||||||
android:layout_toLeftOf="@+id/snackbar_action"/>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/snackbar_action"
|
android:id="@+id/snackbar_action"
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
<android.support.v4.widget.SlidingPaneLayout
|
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
android:id="@+id/slidingpanelayout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent" >
|
||||||
android:id="@+id/slidingpanelayout">
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="288dp"
|
android:layout_width="288dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
>
|
android:orientation="vertical" >
|
||||||
|
|
||||||
<ListView
|
<ListView
|
||||||
android:id="@+id/list"
|
android:id="@+id/list"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:divider="@color/divider"
|
|
||||||
android:dividerHeight="1dp"
|
|
||||||
android:background="@color/primarybackground"
|
android:background="@color/primarybackground"
|
||||||
/>
|
android:divider="@color/divider"
|
||||||
|
android:dividerHeight="1dp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
<LinearLayout
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/selected_conversation"
|
android:id="@+id/selected_conversation"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical" >
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</android.support.v4.widget.SlidingPaneLayout>
|
</android.support.v4.widget.SlidingPaneLayout>
|
|
@ -3,15 +3,16 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="8dp">
|
android:padding="8dp" >
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/your_account"
|
android:id="@+id/your_account"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:text="@string/your_account"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
android:text="@string/your_account" />
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<Spinner
|
<Spinner
|
||||||
android:id="@+id/account"
|
android:id="@+id/account"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
|
@ -19,29 +20,28 @@
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/jabber_id"
|
android:id="@+id/jabber_id"
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="?attr/TextSizeBody"
|
android:layout_marginTop="8dp"
|
||||||
|
android:text="@string/conference_address"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
android:text="@string/conference_address" />
|
android:textSize="?attr/TextSizeBody" />
|
||||||
|
|
||||||
<AutoCompleteTextView
|
<AutoCompleteTextView
|
||||||
android:id="@+id/jid"
|
android:id="@+id/jid"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:inputType="textEmailAddress"
|
|
||||||
android:hint="@string/conference_address_example"
|
android:hint="@string/conference_address_example"
|
||||||
android:textColorHint="@color/secondarytext"
|
android:inputType="textEmailAddress"
|
||||||
android:textColor="@color/primarytext"
|
android:textColor="@color/primarytext"
|
||||||
/>
|
android:textColorHint="@color/secondarytext" />
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/bookmark"
|
android:id="@+id/bookmark"
|
||||||
android:layout_marginTop="8dp"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/save_as_bookmark"
|
android:layout_marginTop="8dp"
|
||||||
android:checked="true" />
|
android:checked="true"
|
||||||
|
android:text="@string/save_as_bookmark" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
|
@ -3,14 +3,14 @@
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="fill_parent"
|
android:layout_height="fill_parent"
|
||||||
android:background="@color/primarybackground">
|
android:background="@color/primarybackground" >
|
||||||
|
|
||||||
<ListView
|
<ListView
|
||||||
android:id="@+id/account_list"
|
android:id="@+id/account_list"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:divider="@color/divider"
|
android:divider="@color/divider"
|
||||||
android:dividerHeight="1dp">
|
android:dividerHeight="1dp" >
|
||||||
</ListView>
|
</ListView>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content" >
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
|
@ -3,10 +3,10 @@
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingTop="6dp"
|
|
||||||
android:paddingBottom="6dp"
|
android:paddingBottom="6dp"
|
||||||
|
android:paddingLeft="8dp"
|
||||||
android:paddingRight="6dp"
|
android:paddingRight="6dp"
|
||||||
android:paddingLeft="8dp">
|
android:paddingTop="6dp" >
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/message_photo"
|
android:id="@+id/message_photo"
|
||||||
|
@ -17,6 +17,6 @@
|
||||||
android:layout_marginRight="-1.5dp"
|
android:layout_marginRight="-1.5dp"
|
||||||
android:padding="0dp"
|
android:padding="0dp"
|
||||||
android:scaleType="fitXY"
|
android:scaleType="fitXY"
|
||||||
android:src="@drawable/ic_profile"/>
|
android:src="@drawable/ic_profile" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
|
@ -3,14 +3,15 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="16dp">
|
android:padding="16dp" >
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/editor"
|
android:id="@+id/editor"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
android:inputType="textPersonName"
|
android:inputType="textPersonName"
|
||||||
android:textColor="@color/primarytext">
|
android:textColor="@color/primarytext" >
|
||||||
|
|
||||||
<requestFocus />
|
<requestFocus />
|
||||||
</EditText>
|
</EditText>
|
||||||
|
|
|
@ -11,4 +11,5 @@
|
||||||
android:id="@+id/attach_record_voice"
|
android:id="@+id/attach_record_voice"
|
||||||
android:title="@string/attach_record_voice"
|
android:title="@string/attach_record_voice"
|
||||||
android:visible="false"/>
|
android:visible="false"/>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
|
@ -7,4 +7,5 @@
|
||||||
android:icon="@drawable/ic_action_search"
|
android:icon="@drawable/ic_action_search"
|
||||||
android:showAsAction="collapseActionView|always"
|
android:showAsAction="collapseActionView|always"
|
||||||
android:title="@string/search"/>
|
android:title="@string/search"/>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
|
@ -1,27 +1,27 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_edit_contact"
|
android:id="@+id/action_edit_contact"
|
||||||
|
android:icon="@drawable/ic_action_edit"
|
||||||
android:orderInCategory="10"
|
android:orderInCategory="10"
|
||||||
android:showAsAction="always"
|
android:showAsAction="always"
|
||||||
android:icon="@drawable/ic_action_edit"
|
android:title="@string/action_edit_contact"/>
|
||||||
android:title="@string/action_edit_contact" />
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_delete_contact"
|
android:id="@+id/action_delete_contact"
|
||||||
|
android:icon="@drawable/ic_action_discard"
|
||||||
android:orderInCategory="10"
|
android:orderInCategory="10"
|
||||||
android:showAsAction="always"
|
android:showAsAction="always"
|
||||||
android:icon="@drawable/ic_action_discard"
|
android:title="@string/action_delete_contact"/>
|
||||||
android:title="@string/action_delete_contact" />
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_accounts"
|
android:id="@+id/action_accounts"
|
||||||
android:orderInCategory="90"
|
android:orderInCategory="90"
|
||||||
android:showAsAction="never"
|
android:showAsAction="never"
|
||||||
android:title="@string/action_accounts"
|
android:title="@string/action_accounts"/>
|
||||||
/>
|
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_settings"
|
android:id="@+id/action_settings"
|
||||||
android:orderInCategory="100"
|
android:orderInCategory="100"
|
||||||
android:showAsAction="never"
|
android:showAsAction="never"
|
||||||
android:title="@string/action_settings"/>
|
android:title="@string/action_settings"/>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
|
@ -1,17 +1,16 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
<group android:checkableBehavior="single">
|
|
||||||
|
|
||||||
<item
|
<group android:checkableBehavior="single" >
|
||||||
|
<item
|
||||||
android:id="@+id/encryption_choice_none"
|
android:id="@+id/encryption_choice_none"
|
||||||
android:title="@string/encryption_choice_none"
|
android:title="@string/encryption_choice_none"/>
|
||||||
/>
|
<item
|
||||||
<item
|
|
||||||
android:id="@+id/encryption_choice_otr"
|
android:id="@+id/encryption_choice_otr"
|
||||||
android:title="@string/encryption_choice_otr"
|
android:title="@string/encryption_choice_otr"/>
|
||||||
/>
|
<item
|
||||||
<item
|
|
||||||
android:id="@+id/encryption_choice_pgp"
|
android:id="@+id/encryption_choice_pgp"
|
||||||
android:title="@string/encryption_choice_pgp"/>
|
android:title="@string/encryption_choice_pgp"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
|
@ -1,12 +1,15 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
<item android:id="@+id/action_add_account"
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_add_account"
|
||||||
|
android:icon="@drawable/ic_action_add_person"
|
||||||
android:showAsAction="always"
|
android:showAsAction="always"
|
||||||
android:title="@string/action_add_account"
|
android:title="@string/action_add_account"/>
|
||||||
android:icon="@drawable/ic_action_add_person"/>
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_settings"
|
android:id="@+id/action_settings"
|
||||||
android:orderInCategory="100"
|
android:orderInCategory="100"
|
||||||
android:showAsAction="never"
|
android:showAsAction="never"
|
||||||
android:title="@string/action_settings"/>
|
android:title="@string/action_settings"/>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
|
@ -1,21 +1,21 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_edit_subject"
|
android:id="@+id/action_edit_subject"
|
||||||
|
android:icon="@drawable/ic_action_edit"
|
||||||
android:orderInCategory="10"
|
android:orderInCategory="10"
|
||||||
android:showAsAction="always"
|
android:showAsAction="always"
|
||||||
android:icon="@drawable/ic_action_edit"
|
android:title="@string/action_edit_subject"/>
|
||||||
android:title="@string/action_edit_subject" />
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_accounts"
|
android:id="@+id/action_accounts"
|
||||||
android:orderInCategory="90"
|
android:orderInCategory="90"
|
||||||
android:showAsAction="never"
|
android:showAsAction="never"
|
||||||
android:title="@string/action_accounts"
|
android:title="@string/action_accounts"/>
|
||||||
/>
|
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_settings"
|
android:id="@+id/action_settings"
|
||||||
android:orderInCategory="100"
|
android:orderInCategory="100"
|
||||||
android:showAsAction="never"
|
android:showAsAction="never"
|
||||||
android:title="@string/action_settings"/>
|
android:title="@string/action_settings"/>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
|
@ -7,7 +7,6 @@
|
||||||
android:icon="@drawable/ic_action_search"
|
android:icon="@drawable/ic_action_search"
|
||||||
android:showAsAction="collapseActionView|always"
|
android:showAsAction="collapseActionView|always"
|
||||||
android:title="@string/search"/>
|
android:title="@string/search"/>
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_create_contact"
|
android:id="@+id/action_create_contact"
|
||||||
android:icon="@drawable/ic_action_add_person"
|
android:icon="@drawable/ic_action_add_person"
|
||||||
|
@ -18,7 +17,6 @@
|
||||||
android:icon="@drawable/ic_action_add_group"
|
android:icon="@drawable/ic_action_add_group"
|
||||||
android:showAsAction="always"
|
android:showAsAction="always"
|
||||||
android:title="@string/join_conference"/>
|
android:title="@string/join_conference"/>
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_accounts"
|
android:id="@+id/action_accounts"
|
||||||
android:orderInCategory="90"
|
android:orderInCategory="90"
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>Mòbil</item>
|
<item>Mòbil</item>
|
||||||
<item>Telèfon</item>
|
<item>Telèfon</item>
|
||||||
|
@ -19,4 +20,5 @@
|
||||||
<item>524288</item>
|
<item>524288</item>
|
||||||
<item>1048576</item>
|
<item>1048576</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -78,5 +78,6 @@
|
||||||
<string name="pref_advanced_options">Opcions avançades</string>
|
<string name="pref_advanced_options">Opcions avançades</string>
|
||||||
<string name="pref_never_send_crash">Mai enviïs informes d\'errors</string>
|
<string name="pref_never_send_crash">Mai enviïs informes d\'errors</string>
|
||||||
<string name="pref_never_send_crash_summary">Enviant traces d\'execució ajudes al futur desenvolupament del Conversations.</string>
|
<string name="pref_never_send_crash_summary">Enviant traces d\'execució ajudes al futur desenvolupament del Conversations.</string>
|
||||||
|
<string name="pref_ui_options">Opcions de UI</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>Mobile</item>
|
<item>Mobile</item>
|
||||||
<item>Phone</item>
|
<item>Phone</item>
|
||||||
|
@ -19,4 +20,5 @@
|
||||||
<item>524288</item>
|
<item>524288</item>
|
||||||
<item>1048576</item>
|
<item>1048576</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string name="app_name">Conversations</string>
|
<string name="app_name">Conversations</string>
|
||||||
<string name="action_settings">Einstellungen</string>
|
<string name="action_settings">Einstellungen</string>
|
||||||
<string name="action_add">Neue Unterhaltung</string>
|
<string name="action_add">Neue Unterhaltung</string>
|
||||||
|
@ -230,4 +231,6 @@
|
||||||
<string name="server_info_session_established">Aktuelle Sitzung wiederhergestellt</string>
|
<string name="server_info_session_established">Aktuelle Sitzung wiederhergestellt</string>
|
||||||
<string name="additional_information">Zusätzliche Informationen</string>
|
<string name="additional_information">Zusätzliche Informationen</string>
|
||||||
<string name="skip">Überspringen</string>
|
<string name="skip">Überspringen</string>
|
||||||
|
<string name="pref_ui_options">Benutzeroberfläche</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>Móvil</item>
|
<item>Móvil</item>
|
||||||
<item>Teléfono</item>
|
<item>Teléfono</item>
|
||||||
|
@ -26,6 +27,7 @@
|
||||||
<item>8 horas</item>
|
<item>8 horas</item>
|
||||||
<item>Hasta nuevo aviso</item>
|
<item>Hasta nuevo aviso</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<integer-array name="mute_options_durations">
|
<integer-array name="mute_options_durations">
|
||||||
<item>1800</item>
|
<item>1800</item>
|
||||||
<item>3600</item>
|
<item>3600</item>
|
||||||
|
@ -33,4 +35,5 @@
|
||||||
<item>28800</item>
|
<item>28800</item>
|
||||||
<item>-1</item>
|
<item>-1</item>
|
||||||
</integer-array>
|
</integer-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -254,4 +254,5 @@
|
||||||
<string name="pref_expert_options_summary">Por favor, cuidado con estas opciones</string>
|
<string name="pref_expert_options_summary">Por favor, cuidado con estas opciones</string>
|
||||||
<string name="pref_use_larger_font">Incrementar tamaño de fuente</string>
|
<string name="pref_use_larger_font">Incrementar tamaño de fuente</string>
|
||||||
<string name="pref_use_larger_font_summary">Usar fuentes grandes en toda la aplicación</string>
|
<string name="pref_use_larger_font_summary">Usar fuentes grandes en toda la aplicación</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>Mugikorra</item>
|
<item>Mugikorra</item>
|
||||||
<item>Telefonoa</item>
|
<item>Telefonoa</item>
|
||||||
|
@ -19,4 +20,5 @@
|
||||||
<item>524288</item>
|
<item>524288</item>
|
||||||
<item>1048576</item>
|
<item>1048576</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -230,5 +230,6 @@
|
||||||
<string name="server_info_session_established">Uneko saioa ezarri da</string>
|
<string name="server_info_session_established">Uneko saioa ezarri da</string>
|
||||||
<string name="additional_information">Informazio gehiago</string>
|
<string name="additional_information">Informazio gehiago</string>
|
||||||
<string name="skip">Orain ez</string>
|
<string name="skip">Orain ez</string>
|
||||||
|
<string name="pref_ui_options">Erabiltzaile-interfazearen aukerak</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>Mobile</item>
|
<item>Mobile</item>
|
||||||
<item>Téléphone</item>
|
<item>Téléphone</item>
|
||||||
|
@ -19,4 +20,5 @@
|
||||||
<item>524288</item>
|
<item>524288</item>
|
||||||
<item>1048576</item>
|
<item>1048576</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -207,5 +207,6 @@
|
||||||
<string name="contact_added_you">Votre correspondant vous a ajouté dans sa liste de contacts</string>
|
<string name="contact_added_you">Votre correspondant vous a ajouté dans sa liste de contacts</string>
|
||||||
<string name="add_back">Ajouter également</string>
|
<string name="add_back">Ajouter également</string>
|
||||||
<string name="contact_has_read_up_to_this_point">%s a lu les messages précédents.</string>
|
<string name="contact_has_read_up_to_this_point">%s a lu les messages précédents.</string>
|
||||||
|
<string name="pref_ui_options">Options d\'affichage</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>Móvil</item>
|
<item>Móvil</item>
|
||||||
<item>Teléfono</item>
|
<item>Teléfono</item>
|
||||||
|
@ -19,4 +20,5 @@
|
||||||
<item>524288</item>
|
<item>524288</item>
|
||||||
<item>1048576</item>
|
<item>1048576</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -125,4 +125,6 @@
|
||||||
<string name="save">Gardar</string>
|
<string name="save">Gardar</string>
|
||||||
<string name="passwords_do_not_match">As contrasinais non coinciden</string>
|
<string name="passwords_do_not_match">As contrasinais non coinciden</string>
|
||||||
<string name="invalid_jid">O identificador non é un identificador de Jabber válido</string>
|
<string name="invalid_jid">O identificador non é un identificador de Jabber válido</string>
|
||||||
|
<string name="pref_ui_options">Opcións de interfaz</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>נייד</item>
|
<item>נייד</item>
|
||||||
<item>טלפון</item>
|
<item>טלפון</item>
|
||||||
|
@ -19,4 +20,5 @@
|
||||||
<item>524288</item>
|
<item>524288</item>
|
||||||
<item>1048576</item>
|
<item>1048576</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -219,4 +219,6 @@
|
||||||
<string name="private_message">בפרטי</string>
|
<string name="private_message">בפרטי</string>
|
||||||
<string name="private_message_to">בפרטי אל %s</string>
|
<string name="private_message_to">בפרטי אל %s</string>
|
||||||
<string name="send_private_message_to">שלח הודעה פרטית אל %s</string>
|
<string name="send_private_message_to">שלח הודעה פרטית אל %s</string>
|
||||||
|
<string name="pref_ui_options">אפשרויות ממשק משתמש</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>Mobiel</item>
|
<item>Mobiel</item>
|
||||||
<item>Telefoon</item>
|
<item>Telefoon</item>
|
||||||
|
@ -19,4 +20,5 @@
|
||||||
<item>524288</item>
|
<item>524288</item>
|
||||||
<item>1048576</item>
|
<item>1048576</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -178,7 +178,6 @@
|
||||||
<string name="unknown_otr_fingerprint">Onbekende OTR vingerafdruk</string>
|
<string name="unknown_otr_fingerprint">Onbekende OTR vingerafdruk</string>
|
||||||
<string name="openpgp_messages_found">OpenPGP encrypted messages found</string>
|
<string name="openpgp_messages_found">OpenPGP encrypted messages found</string>
|
||||||
<string name="reception_failed">Ontvangen mislukt</string>
|
<string name="reception_failed">Ontvangen mislukt</string>
|
||||||
|
|
||||||
<string name="join_conference">Aan groepsconversatie deelnemen</string>
|
<string name="join_conference">Aan groepsconversatie deelnemen</string>
|
||||||
<string name="invite_contact">Contact uitnodigen</string>
|
<string name="invite_contact">Contact uitnodigen</string>
|
||||||
<string name="your_fingerprint">Uw vingerafdruk</string>
|
<string name="your_fingerprint">Uw vingerafdruk</string>
|
||||||
|
@ -229,4 +228,6 @@
|
||||||
<string name="server_info_session_established">Huidige sessie opgezet</string>
|
<string name="server_info_session_established">Huidige sessie opgezet</string>
|
||||||
<string name="or_long_press_for_default">(Of houdt lang ingedrukt om de oorspronkelijke terug te zetten)</string>
|
<string name="or_long_press_for_default">(Of houdt lang ingedrukt om de oorspronkelijke terug te zetten)</string>
|
||||||
<string name="server_info_available">beschikbaar</string>
|
<string name="server_info_available">beschikbaar</string>
|
||||||
|
<string name="pref_ui_options">UI Opties</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>Мобильный</item>
|
<item>Мобильный</item>
|
||||||
<item>Телефон</item>
|
<item>Телефон</item>
|
||||||
|
@ -19,4 +20,5 @@
|
||||||
<item>524288</item>
|
<item>524288</item>
|
||||||
<item>1048576</item>
|
<item>1048576</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -229,5 +229,6 @@
|
||||||
<string name="save_as_bookmark">Сохранить закладку</string>
|
<string name="save_as_bookmark">Сохранить закладку</string>
|
||||||
<string name="delete_bookmark">Удалить закладку</string>
|
<string name="delete_bookmark">Удалить закладку</string>
|
||||||
<string name="bookmark_already_exists">Такая закладка уже существует</string>
|
<string name="bookmark_already_exists">Такая закладка уже существует</string>
|
||||||
|
<string name="pref_ui_options">Параметры интерфейса</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>Mobile</item>
|
<item>Mobile</item>
|
||||||
<item>Phone</item>
|
<item>Phone</item>
|
||||||
|
@ -19,4 +20,5 @@
|
||||||
<item>524288</item>
|
<item>524288</item>
|
||||||
<item>1048576</item>
|
<item>1048576</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -17,7 +17,6 @@
|
||||||
<string name="title_activity_settings">Inställningar</string>
|
<string name="title_activity_settings">Inställningar</string>
|
||||||
<string name="title_activity_conference_details">Konferensdetaljer</string>
|
<string name="title_activity_conference_details">Konferensdetaljer</string>
|
||||||
<string name="title_activity_contact_details">Kontaktdetaljer</string>
|
<string name="title_activity_contact_details">Kontaktdetaljer</string>
|
||||||
<string name="title_activity_conversations">Konversationer</string>
|
|
||||||
<string name="title_activity_sharewith">Dela med konversation</string>
|
<string name="title_activity_sharewith">Dela med konversation</string>
|
||||||
<string name="title_activity_start_conversation">Starta konversation</string>
|
<string name="title_activity_start_conversation">Starta konversation</string>
|
||||||
<string name="title_activity_choose_contact">Välj kontakt</string>
|
<string name="title_activity_choose_contact">Välj kontakt</string>
|
||||||
|
@ -65,7 +64,6 @@
|
||||||
<string name="clear_histor_msg">Vill du ta bort alla meddelanden i denna konversation?\n\n<b>Varning:</b> Detta kommer inte påverka meddelanden lagrade på andra enheter eller servrar.</string>
|
<string name="clear_histor_msg">Vill du ta bort alla meddelanden i denna konversation?\n\n<b>Varning:</b> Detta kommer inte påverka meddelanden lagrade på andra enheter eller servrar.</string>
|
||||||
<string name="delete_messages">Ta bort meddelanden</string>
|
<string name="delete_messages">Ta bort meddelanden</string>
|
||||||
<string name="also_end_conversation">Avsluta denna konversation efter</string>
|
<string name="also_end_conversation">Avsluta denna konversation efter</string>
|
||||||
<string name="choose_presence">Välj närvaro till kontakt</string>
|
|
||||||
<string name="send_plain_text_message">Skicka meddelande i klartext</string>
|
<string name="send_plain_text_message">Skicka meddelande i klartext</string>
|
||||||
<string name="send_otr_message">Skicka OTR-krypterat meddelande</string>
|
<string name="send_otr_message">Skicka OTR-krypterat meddelande</string>
|
||||||
<string name="send_pgp_message">Skicka OpenPGP-krypterat meddelande</string>
|
<string name="send_pgp_message">Skicka OpenPGP-krypterat meddelande</string>
|
||||||
|
@ -101,7 +99,6 @@
|
||||||
<string name="pref_conference_notifications">Konferensnotifieringar</string>
|
<string name="pref_conference_notifications">Konferensnotifieringar</string>
|
||||||
<string name="pref_conference_notifications_summary">Notifiera alltid när nytt konferensmeddelande tagits emot istället för endast vid highlight</string>
|
<string name="pref_conference_notifications_summary">Notifiera alltid när nytt konferensmeddelande tagits emot istället för endast vid highlight</string>
|
||||||
<string name="pref_notification_grace_period">Notifieringsfrist</string>
|
<string name="pref_notification_grace_period">Notifieringsfrist</string>
|
||||||
<string name="pref_notification_grace_period_summary">Deaktivera notifieringar en kort stund efter att en carbon copy tagits emot</string>
|
|
||||||
<string name="pref_advanced_options">Avancerade inställningar</string>
|
<string name="pref_advanced_options">Avancerade inställningar</string>
|
||||||
<string name="pref_never_send_crash">Skicka aldrig krasch-rapporter</string>
|
<string name="pref_never_send_crash">Skicka aldrig krasch-rapporter</string>
|
||||||
<string name="pref_never_send_crash_summary">Genom att skicka in stack traces hjälper du utvecklarna av Conversations</string>
|
<string name="pref_never_send_crash_summary">Genom att skicka in stack traces hjälper du utvecklarna av Conversations</string>
|
||||||
|
@ -128,7 +125,6 @@
|
||||||
<string name="error_io_exception">Generellt I/O-fel. Du kanske fick slut på plats?</string>
|
<string name="error_io_exception">Generellt I/O-fel. Du kanske fick slut på plats?</string>
|
||||||
<string name="error_security_exception_during_image_copy">Applikationen du använde för att välja bilden gav inte tillräckliga rättigheter för att läsa filen.\n\n<small>Använd en annan filhanterare för att välja bild</small></string>
|
<string name="error_security_exception_during_image_copy">Applikationen du använde för att välja bilden gav inte tillräckliga rättigheter för att läsa filen.\n\n<small>Använd en annan filhanterare för att välja bild</small></string>
|
||||||
<string name="account_status_unknown">Okänd</string>
|
<string name="account_status_unknown">Okänd</string>
|
||||||
<string name="account_status_disabled">Tillfälligt deaktiverad</string>
|
|
||||||
<string name="account_status_online">Online</string>
|
<string name="account_status_online">Online</string>
|
||||||
<string name="account_status_connecting">Ansluter\u2026</string>
|
<string name="account_status_connecting">Ansluter\u2026</string>
|
||||||
<string name="account_status_offline">Offline</string>
|
<string name="account_status_offline">Offline</string>
|
||||||
|
@ -144,7 +140,6 @@
|
||||||
<string name="encryption_choice_pgp">OpenPGP</string>
|
<string name="encryption_choice_pgp">OpenPGP</string>
|
||||||
<string name="mgmt_account_edit">Ändra konto</string>
|
<string name="mgmt_account_edit">Ändra konto</string>
|
||||||
<string name="mgmt_account_delete">Ta bort</string>
|
<string name="mgmt_account_delete">Ta bort</string>
|
||||||
<string name="mgmt_account_disable">Deaktivera tillfälligt</string>
|
|
||||||
<string name="mgmt_account_enable">Aktivera</string>
|
<string name="mgmt_account_enable">Aktivera</string>
|
||||||
<string name="mgmt_account_are_you_sure">Är du säker?</string>
|
<string name="mgmt_account_are_you_sure">Är du säker?</string>
|
||||||
<string name="mgmt_account_delete_confirm_text">Om du tar bort kontot kommer all konversationshistorik att försvinna</string>
|
<string name="mgmt_account_delete_confirm_text">Om du tar bort kontot kommer all konversationshistorik att försvinna</string>
|
||||||
|
@ -208,7 +203,6 @@
|
||||||
<string name="add_back">Addera tillbaks</string>
|
<string name="add_back">Addera tillbaks</string>
|
||||||
<string name="contact_has_read_up_to_this_point">%s har läst fram hit</string>
|
<string name="contact_has_read_up_to_this_point">%s har läst fram hit</string>
|
||||||
<string name="next">Nästa</string>
|
<string name="next">Nästa</string>
|
||||||
<string name="publish_avatar_explanation">Notera: Alla som kan se dina närvarouppdateringar kommer se denna bild.</string>
|
|
||||||
<string name="server_info_unavailable">otillgänglig</string>
|
<string name="server_info_unavailable">otillgänglig</string>
|
||||||
<string name="mgmt_account_publish_pgp">Publisera OpenPGP publik nyckel</string>
|
<string name="mgmt_account_publish_pgp">Publisera OpenPGP publik nyckel</string>
|
||||||
<string name="additional_information">Ytterligare information</string>
|
<string name="additional_information">Ytterligare information</string>
|
||||||
|
@ -231,5 +225,36 @@
|
||||||
<string name="pref_general">Generellt</string>
|
<string name="pref_general">Generellt</string>
|
||||||
<string name="publish">Publicera</string>
|
<string name="publish">Publicera</string>
|
||||||
<string name="private_message">privat meddelande</string>
|
<string name="private_message">privat meddelande</string>
|
||||||
|
<string name="pref_ui_options">UI inställningar</string>
|
||||||
|
<string name="enable">Aktivera</string>
|
||||||
|
<string name="without_mutual_presence_updates"><b>Varning:</b> Skicka detta utan gemensamma tillgänglighetsuppdateringar kan ge oväntade problem.\n\n<small>Gå till kontaktdetaljer för att verifiera dina tillgänglighetsuppdateringar.</small></string>
|
||||||
|
<string name="disable_notifications">Inaktivera notifieringar</string>
|
||||||
|
<string name="request_presence_updates">Begär tillgänglighetsuppdateringar från din kontakt först.\n\n<small>Detta används för att se vilken klient/klienter din kontakt använder.</small></string>
|
||||||
|
<string name="conference_requires_password">Konferensen kräver lösenord</string>
|
||||||
|
<string name="pref_dont_save_encrypted">Spara in krypterade meddelanden</string>
|
||||||
|
<string name="pref_encryption_settings">Krypteringsinställningar</string>
|
||||||
|
<string name="pref_use_send_button_to_indicate_status_summary">Färglägg skickaknappen för att indikera kontaktens status</string>
|
||||||
|
<string name="missing_presence_updates">Saknar tillgänglighetsuppdateringar från kontakt</string>
|
||||||
|
<string name="pref_expert_options">Expertinställningar</string>
|
||||||
|
<string name="pref_force_encryption_summary">Sänd alltid krypterade meddelanden (utom för konferenser)</string>
|
||||||
|
<string name="pref_expert_options_summary">Var försiktig med dem</string>
|
||||||
|
<string name="disable_notifications_for_this_conversation">Inaktivera notifieringar för denna konversation</string>
|
||||||
|
<string name="pref_use_send_button_to_indicate_status">Skickaknappen indikerar status</string>
|
||||||
|
<string name="enter_password">Fyll i lösenord</string>
|
||||||
|
<string name="notifications_disabled">Notifieringar är inaktiverade</string>
|
||||||
|
<string name="pref_force_encryption">Tvinga kryptering</string>
|
||||||
|
<string name="sure_delete_fingerprint">Är du säker på att du vill ta bort detta fingeravtryck?</string>
|
||||||
|
<string name="ignore">Ignorera</string>
|
||||||
|
<string name="pref_use_larger_font_summary">Använd större teckenstorlek för hela applikationen</string>
|
||||||
|
<string name="pref_use_larger_font">Öka teckenstorlek</string>
|
||||||
|
<string name="pref_dont_save_encrypted_summary">Varning: Detta kan leda till att meddelanden förloras</string>
|
||||||
|
<string name="delete_fingerprint">Ta bort fingeravtryck</string>
|
||||||
|
<string name="request_now">Begär nu</string>
|
||||||
|
<string name="title_activity_conversations">Conversations</string>
|
||||||
|
<string name="publish_avatar_explanation">Notera: Alla som kan se dina tillgänglighetsuppdateringar kommer se denna bild.</string>
|
||||||
|
<string name="choose_presence">Välj tillgänglighet till kontakt</string>
|
||||||
|
<string name="pref_notification_grace_period_summary">Inaktivera notifieringar en kort stund efter att en carbon copy tagits emot</string>
|
||||||
|
<string name="account_status_disabled">Tillfälligt inaktiverad</string>
|
||||||
|
<string name="mgmt_account_disable">Inaktivera tillfälligt</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string-array name="resources">
|
<string-array name="resources">
|
||||||
<item>Mobile</item>
|
<item>Mobile</item>
|
||||||
<item>Phone</item>
|
<item>Phone</item>
|
||||||
|
@ -26,6 +27,7 @@
|
||||||
<item>8 hours</item>
|
<item>8 hours</item>
|
||||||
<item>until further notice</item>
|
<item>until further notice</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<integer-array name="mute_options_durations">
|
<integer-array name="mute_options_durations">
|
||||||
<item>1800</item>
|
<item>1800</item>
|
||||||
<item>3600</item>
|
<item>3600</item>
|
||||||
|
@ -33,4 +35,5 @@
|
||||||
<item>28800</item>
|
<item>28800</item>
|
||||||
<item>-1</item>
|
<item>-1</item>
|
||||||
</integer-array>
|
</integer-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,6 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<attr name="TextSizeInfo" format="dimension"/>
|
|
||||||
<attr name="TextSizeBody" format="dimension"/>
|
<attr name="TextSizeInfo" format="dimension" />
|
||||||
<attr name="TextSizeHeadline" format="dimension"/>
|
<attr name="TextSizeBody" format="dimension" />
|
||||||
|
<attr name="TextSizeHeadline" format="dimension" />
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<color name="primary" type="color">#ff259b24</color>
|
<color name="primary" type="color">#ff259b24</color>
|
||||||
<color name="primarydark" type="color">#ff0a7e07</color>
|
<color name="primarydark" type="color">#ff0a7e07</color>
|
||||||
<color name="primarytext" type="color">#de000000</color>
|
<color name="primarytext" type="color">#de000000</color>
|
||||||
|
@ -9,5 +10,8 @@
|
||||||
<color name="secondarybackground" type="color">#ffeeeeee</color>
|
<color name="secondarybackground" type="color">#ffeeeeee</color>
|
||||||
<color name="darkbackground" type="color">#ff323232</color>
|
<color name="darkbackground" type="color">#ff323232</color>
|
||||||
<color name="divider">#1f000000</color>
|
<color name="divider">#1f000000</color>
|
||||||
<color name="warningtext">#ffe51c23</color>
|
<color name="red">#ffe51c23</color>
|
||||||
|
<color name="orange">#ffff9800</color>
|
||||||
|
<color name="green">#ff259b24</color>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -254,4 +254,7 @@
|
||||||
<string name="pref_expert_options_summary">Please be very careful with those</string>
|
<string name="pref_expert_options_summary">Please be very careful with those</string>
|
||||||
<string name="pref_use_larger_font">Increase font size</string>
|
<string name="pref_use_larger_font">Increase font size</string>
|
||||||
<string name="pref_use_larger_font_summary">Use larger font sizes across the entire app</string>
|
<string name="pref_use_larger_font_summary">Use larger font sizes across the entire app</string>
|
||||||
|
<string name="pref_use_send_button_to_indicate_status">Send button indicates status</string>
|
||||||
|
<string name="pref_use_send_button_to_indicate_status_summary">Colorize send button to indicate a contacs status</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -62,13 +62,17 @@
|
||||||
android:summary="@string/pref_notification_grace_period_summary"
|
android:summary="@string/pref_notification_grace_period_summary"
|
||||||
android:title="@string/pref_notification_grace_period" />
|
android:title="@string/pref_notification_grace_period" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
<PreferenceCategory
|
<PreferenceCategory android:title="@string/pref_ui_options" >
|
||||||
android:title="@string/pref_ui_options">
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:defaultValue="false"
|
android:defaultValue="false"
|
||||||
android:key="use_larger_font"
|
android:key="use_larger_font"
|
||||||
android:title="@string/pref_use_larger_font"
|
android:summary="@string/pref_use_larger_font_summary"
|
||||||
android:summary="@string/pref_use_larger_font_summary"/>
|
android:title="@string/pref_use_larger_font" />
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:key="send_button_status"
|
||||||
|
android:summary="@string/pref_use_send_button_to_indicate_status_summary"
|
||||||
|
android:title="@string/pref_use_send_button_to_indicate_status" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
<PreferenceCategory android:title="@string/pref_advanced_options" >
|
<PreferenceCategory android:title="@string/pref_advanced_options" >
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
|
|
|
@ -202,7 +202,7 @@ public class MessageParser extends AbstractParser implements
|
||||||
if ((message == null) || (!message.hasChild("body"))) {
|
if ((message == null) || (!message.hasChild("body"))) {
|
||||||
if (status == Message.STATUS_RECEIVED
|
if (status == Message.STATUS_RECEIVED
|
||||||
&& message.getAttribute("from") != null) {
|
&& message.getAttribute("from") != null) {
|
||||||
parseNormal(message, account);
|
parseNonMessage(message, account);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -256,13 +256,12 @@ public class MessageParser extends AbstractParser implements
|
||||||
packet.getId(), Message.STATUS_SEND_FAILED);
|
packet.getId(), Message.STATUS_SEND_FAILED);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseNormal(Element packet, Account account) {
|
private void parseNonMessage(Element packet, Account account) {
|
||||||
if (packet.hasChild("event", "http://jabber.org/protocol/pubsub#event")) {
|
if (packet.hasChild("event", "http://jabber.org/protocol/pubsub#event")) {
|
||||||
Element event = packet.findChild("event",
|
Element event = packet.findChild("event",
|
||||||
"http://jabber.org/protocol/pubsub#event");
|
"http://jabber.org/protocol/pubsub#event");
|
||||||
parseEvent(event, packet.getAttribute("from"), account);
|
parseEvent(event, packet.getAttribute("from"), account);
|
||||||
}
|
} else if (packet.hasChild("displayed", "urn:xmpp:chat-markers:0")) {
|
||||||
if (packet.hasChild("displayed", "urn:xmpp:chat-markers:0")) {
|
|
||||||
String id = packet
|
String id = packet
|
||||||
.findChild("displayed", "urn:xmpp:chat-markers:0")
|
.findChild("displayed", "urn:xmpp:chat-markers:0")
|
||||||
.getAttribute("id");
|
.getAttribute("id");
|
||||||
|
@ -294,7 +293,6 @@ public class MessageParser extends AbstractParser implements
|
||||||
mXmppConnectionService.updateConversationUi();
|
mXmppConnectionService.updateConversationUi();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (packet.hasChild("x", "jabber:x:conference")) {
|
} else if (packet.hasChild("x", "jabber:x:conference")) {
|
||||||
Element x = packet.findChild("x", "jabber:x:conference");
|
Element x = packet.findChild("x", "jabber:x:conference");
|
||||||
String jid = x.getAttribute("jid");
|
String jid = x.getAttribute("jid");
|
||||||
|
@ -382,7 +380,7 @@ public class MessageParser extends AbstractParser implements
|
||||||
|
|
||||||
this.parseNick(packet, account);
|
this.parseNick(packet, account);
|
||||||
|
|
||||||
if ((packet.getType() == MessagePacket.TYPE_CHAT)) {
|
if ((packet.getType() == MessagePacket.TYPE_CHAT || packet.getType() == MessagePacket.TYPE_NORMAL)) {
|
||||||
if ((packet.getBody() != null)
|
if ((packet.getBody() != null)
|
||||||
&& (packet.getBody().startsWith("?OTR"))) {
|
&& (packet.getBody().startsWith("?OTR"))) {
|
||||||
message = this.parseOtrChat(packet, account);
|
message = this.parseOtrChat(packet, account);
|
||||||
|
@ -407,9 +405,8 @@ public class MessageParser extends AbstractParser implements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
parseNormal(packet, account);
|
parseNonMessage(packet, account);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (packet.getType() == MessagePacket.TYPE_GROUPCHAT) {
|
} else if (packet.getType() == MessagePacket.TYPE_GROUPCHAT) {
|
||||||
message = this.parseGroupchat(packet, account);
|
message = this.parseGroupchat(packet, account);
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
|
@ -424,9 +421,6 @@ public class MessageParser extends AbstractParser implements
|
||||||
} else if (packet.getType() == MessagePacket.TYPE_ERROR) {
|
} else if (packet.getType() == MessagePacket.TYPE_ERROR) {
|
||||||
this.parseError(packet, account);
|
this.parseError(packet, account);
|
||||||
return;
|
return;
|
||||||
} else if (packet.getType() == MessagePacket.TYPE_NORMAL) {
|
|
||||||
this.parseNormal(packet, account);
|
|
||||||
return;
|
|
||||||
} else if (packet.getType() == MessagePacket.TYPE_HEADLINE) {
|
} else if (packet.getType() == MessagePacket.TYPE_HEADLINE) {
|
||||||
this.parseHeadline(packet, account);
|
this.parseHeadline(packet, account);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -109,6 +109,7 @@ public class XmppConnectionService extends Service {
|
||||||
private OnAccountUpdate mOnAccountUpdate = null;
|
private OnAccountUpdate mOnAccountUpdate = null;
|
||||||
private int accountChangedListenerCount = 0;
|
private int accountChangedListenerCount = 0;
|
||||||
private OnRosterUpdate mOnRosterUpdate = null;
|
private OnRosterUpdate mOnRosterUpdate = null;
|
||||||
|
private int rosterChangedListenerCount = 0;
|
||||||
public OnContactStatusChanged onContactStatusChanged = new OnContactStatusChanged() {
|
public OnContactStatusChanged onContactStatusChanged = new OnContactStatusChanged() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -997,14 +998,18 @@ public class XmppConnectionService extends Service {
|
||||||
switchToForeground();
|
switchToForeground();
|
||||||
}
|
}
|
||||||
this.mOnRosterUpdate = listener;
|
this.mOnRosterUpdate = listener;
|
||||||
|
this.rosterChangedListenerCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeOnRosterUpdateListener() {
|
public void removeOnRosterUpdateListener() {
|
||||||
|
this.rosterChangedListenerCount--;
|
||||||
|
if (this.rosterChangedListenerCount == 0) {
|
||||||
this.mOnRosterUpdate = null;
|
this.mOnRosterUpdate = null;
|
||||||
if (checkListeners()) {
|
if (checkListeners()) {
|
||||||
switchToBackground();
|
switchToBackground();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private boolean checkListeners() {
|
private boolean checkListeners() {
|
||||||
return (this.mOnAccountUpdate == null
|
return (this.mOnAccountUpdate == null
|
||||||
|
|
|
@ -278,31 +278,31 @@ public class ContactDetailsActivity extends XmppActivity {
|
||||||
switch (contact.getMostAvailableStatus()) {
|
switch (contact.getMostAvailableStatus()) {
|
||||||
case Presences.CHAT:
|
case Presences.CHAT:
|
||||||
status.setText(R.string.contact_status_free_to_chat);
|
status.setText(R.string.contact_status_free_to_chat);
|
||||||
status.setTextColor(0xFF83b600);
|
status.setTextColor(mColorGreen);
|
||||||
break;
|
break;
|
||||||
case Presences.ONLINE:
|
case Presences.ONLINE:
|
||||||
status.setText(R.string.contact_status_online);
|
status.setText(R.string.contact_status_online);
|
||||||
status.setTextColor(0xFF83b600);
|
status.setTextColor(mColorGreen);
|
||||||
break;
|
break;
|
||||||
case Presences.AWAY:
|
case Presences.AWAY:
|
||||||
status.setText(R.string.contact_status_away);
|
status.setText(R.string.contact_status_away);
|
||||||
status.setTextColor(0xFFffa713);
|
status.setTextColor(mColorOrange);
|
||||||
break;
|
break;
|
||||||
case Presences.XA:
|
case Presences.XA:
|
||||||
status.setText(R.string.contact_status_extended_away);
|
status.setText(R.string.contact_status_extended_away);
|
||||||
status.setTextColor(0xFFffa713);
|
status.setTextColor(mColorOrange);
|
||||||
break;
|
break;
|
||||||
case Presences.DND:
|
case Presences.DND:
|
||||||
status.setText(R.string.contact_status_do_not_disturb);
|
status.setText(R.string.contact_status_do_not_disturb);
|
||||||
status.setTextColor(0xFFe92727);
|
status.setTextColor(mColorRed);
|
||||||
break;
|
break;
|
||||||
case Presences.OFFLINE:
|
case Presences.OFFLINE:
|
||||||
status.setText(R.string.contact_status_offline);
|
status.setText(R.string.contact_status_offline);
|
||||||
status.setTextColor(0xFFe92727);
|
status.setTextColor(mSecondaryTextColor);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
status.setText(R.string.contact_status_offline);
|
status.setText(R.string.contact_status_offline);
|
||||||
status.setTextColor(0xFFe92727);
|
status.setTextColor(mSecondaryTextColor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (contact.getPresences().size() > 1) {
|
if (contact.getPresences().size() > 1) {
|
||||||
|
|
|
@ -7,7 +7,9 @@ import eu.siacs.conversations.R;
|
||||||
import eu.siacs.conversations.entities.Contact;
|
import eu.siacs.conversations.entities.Contact;
|
||||||
import eu.siacs.conversations.entities.Conversation;
|
import eu.siacs.conversations.entities.Conversation;
|
||||||
import eu.siacs.conversations.entities.Message;
|
import eu.siacs.conversations.entities.Message;
|
||||||
|
import eu.siacs.conversations.services.XmppConnectionService.OnAccountUpdate;
|
||||||
import eu.siacs.conversations.services.XmppConnectionService.OnConversationUpdate;
|
import eu.siacs.conversations.services.XmppConnectionService.OnConversationUpdate;
|
||||||
|
import eu.siacs.conversations.services.XmppConnectionService.OnRosterUpdate;
|
||||||
import eu.siacs.conversations.ui.adapter.ConversationAdapter;
|
import eu.siacs.conversations.ui.adapter.ConversationAdapter;
|
||||||
import eu.siacs.conversations.utils.ExceptionHelper;
|
import eu.siacs.conversations.utils.ExceptionHelper;
|
||||||
import eu.siacs.conversations.utils.UIHelper;
|
import eu.siacs.conversations.utils.UIHelper;
|
||||||
|
@ -39,7 +41,8 @@ import android.widget.PopupMenu;
|
||||||
import android.widget.PopupMenu.OnMenuItemClickListener;
|
import android.widget.PopupMenu.OnMenuItemClickListener;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
public class ConversationActivity extends XmppActivity {
|
public class ConversationActivity extends XmppActivity implements
|
||||||
|
OnAccountUpdate, OnConversationUpdate, OnRosterUpdate {
|
||||||
|
|
||||||
public static final String VIEW_CONVERSATION = "viewConversation";
|
public static final String VIEW_CONVERSATION = "viewConversation";
|
||||||
public static final String CONVERSATION = "conversationUuid";
|
public static final String CONVERSATION = "conversationUuid";
|
||||||
|
@ -67,34 +70,6 @@ public class ConversationActivity extends XmppActivity {
|
||||||
private boolean paneShouldBeOpen = true;
|
private boolean paneShouldBeOpen = true;
|
||||||
private ArrayAdapter<Conversation> listAdapter;
|
private ArrayAdapter<Conversation> listAdapter;
|
||||||
|
|
||||||
private OnConversationUpdate onConvChanged = new OnConversationUpdate() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onConversationUpdate() {
|
|
||||||
runOnUiThread(new Runnable() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
updateConversationList();
|
|
||||||
if (paneShouldBeOpen) {
|
|
||||||
if (conversationList.size() >= 1) {
|
|
||||||
swapConversationFragment();
|
|
||||||
} else {
|
|
||||||
startActivity(new Intent(getApplicationContext(),
|
|
||||||
StartConversationActivity.class));
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ConversationFragment selectedFragment = (ConversationFragment) getFragmentManager()
|
|
||||||
.findFragmentByTag("conversation");
|
|
||||||
if (selectedFragment != null) {
|
|
||||||
selectedFragment.updateMessages();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
protected ConversationActivity activity = this;
|
protected ConversationActivity activity = this;
|
||||||
private Toast prepareImageToast;
|
private Toast prepareImageToast;
|
||||||
|
|
||||||
|
@ -602,7 +577,7 @@ public class ConversationActivity extends XmppActivity {
|
||||||
this.onBackendConnected();
|
this.onBackendConnected();
|
||||||
}
|
}
|
||||||
if (conversationList.size() >= 1) {
|
if (conversationList.size() >= 1) {
|
||||||
onConvChanged.onConversationUpdate();
|
this.onConversationUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -610,6 +585,8 @@ public class ConversationActivity extends XmppActivity {
|
||||||
protected void onStop() {
|
protected void onStop() {
|
||||||
if (xmppConnectionServiceBound) {
|
if (xmppConnectionServiceBound) {
|
||||||
xmppConnectionService.removeOnConversationListChangedListener();
|
xmppConnectionService.removeOnConversationListChangedListener();
|
||||||
|
xmppConnectionService.removeOnAccountListChangedListener();
|
||||||
|
xmppConnectionService.removeOnRosterUpdateListener();
|
||||||
}
|
}
|
||||||
super.onStop();
|
super.onStop();
|
||||||
}
|
}
|
||||||
|
@ -672,8 +649,9 @@ public class ConversationActivity extends XmppActivity {
|
||||||
|
|
||||||
public void registerListener() {
|
public void registerListener() {
|
||||||
if (xmppConnectionServiceBound) {
|
if (xmppConnectionServiceBound) {
|
||||||
xmppConnectionService
|
xmppConnectionService.setOnConversationListChangedListener(this);
|
||||||
.setOnConversationListChangedListener(this.onConvChanged);
|
xmppConnectionService.setOnAccountListChangedListener(this);
|
||||||
|
xmppConnectionService.setOnRosterUpdateListener(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -806,7 +784,65 @@ public class ConversationActivity extends XmppActivity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean forceEncryption() {
|
public boolean forceEncryption() {
|
||||||
return PreferenceManager.getDefaultSharedPreferences(
|
return getPreferences().getBoolean("force_encryption", false);
|
||||||
getApplicationContext()).getBoolean("force_encryption", false);
|
}
|
||||||
|
|
||||||
|
public boolean useSendButtonToIndicateStatus() {
|
||||||
|
return getPreferences().getBoolean("send_button_status", false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAccountUpdate() {
|
||||||
|
final ConversationFragment fragment = (ConversationFragment) getFragmentManager()
|
||||||
|
.findFragmentByTag("conversation");
|
||||||
|
if (fragment != null) {
|
||||||
|
runOnUiThread(new Runnable() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
fragment.updateMessages();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onConversationUpdate() {
|
||||||
|
runOnUiThread(new Runnable() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
updateConversationList();
|
||||||
|
if (paneShouldBeOpen) {
|
||||||
|
if (conversationList.size() >= 1) {
|
||||||
|
swapConversationFragment();
|
||||||
|
} else {
|
||||||
|
startActivity(new Intent(getApplicationContext(),
|
||||||
|
StartConversationActivity.class));
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ConversationFragment selectedFragment = (ConversationFragment) getFragmentManager()
|
||||||
|
.findFragmentByTag("conversation");
|
||||||
|
if (selectedFragment != null) {
|
||||||
|
selectedFragment.updateMessages();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRosterUpdate() {
|
||||||
|
final ConversationFragment fragment = (ConversationFragment) getFragmentManager()
|
||||||
|
.findFragmentByTag("conversation");
|
||||||
|
if (fragment != null) {
|
||||||
|
runOnUiThread(new Runnable() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
fragment.updateMessages();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ import eu.siacs.conversations.entities.Contact;
|
||||||
import eu.siacs.conversations.entities.Conversation;
|
import eu.siacs.conversations.entities.Conversation;
|
||||||
import eu.siacs.conversations.entities.Message;
|
import eu.siacs.conversations.entities.Message;
|
||||||
import eu.siacs.conversations.entities.MucOptions;
|
import eu.siacs.conversations.entities.MucOptions;
|
||||||
|
import eu.siacs.conversations.entities.Presences;
|
||||||
import eu.siacs.conversations.services.XmppConnectionService;
|
import eu.siacs.conversations.services.XmppConnectionService;
|
||||||
import eu.siacs.conversations.ui.EditMessage.OnEnterPressed;
|
import eu.siacs.conversations.ui.EditMessage.OnEnterPressed;
|
||||||
import eu.siacs.conversations.ui.XmppActivity.OnPresenceSelected;
|
import eu.siacs.conversations.ui.XmppActivity.OnPresenceSelected;
|
||||||
|
@ -61,6 +62,7 @@ public class ConversationFragment extends Fragment {
|
||||||
protected String queuedPqpMessage = null;
|
protected String queuedPqpMessage = null;
|
||||||
|
|
||||||
private EditMessage mEditMessage;
|
private EditMessage mEditMessage;
|
||||||
|
private ImageButton mSendButton;
|
||||||
private String pastedText = null;
|
private String pastedText = null;
|
||||||
private RelativeLayout snackbar;
|
private RelativeLayout snackbar;
|
||||||
private TextView snackbarMessage;
|
private TextView snackbarMessage;
|
||||||
|
@ -255,9 +257,8 @@ public class ConversationFragment extends Fragment {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
ImageButton sendButton = (ImageButton) view
|
mSendButton = (ImageButton) view.findViewById(R.id.textSendButton);
|
||||||
.findViewById(R.id.textSendButton);
|
mSendButton.setOnClickListener(this.mSendButtonListener);
|
||||||
sendButton.setOnClickListener(this.mSendButtonListener);
|
|
||||||
|
|
||||||
snackbar = (RelativeLayout) view.findViewById(R.id.snackbar);
|
snackbar = (RelativeLayout) view.findViewById(R.id.snackbar);
|
||||||
snackbarMessage = (TextView) view.findViewById(R.id.snackbar_message);
|
snackbarMessage = (TextView) view.findViewById(R.id.snackbar_message);
|
||||||
|
@ -485,6 +486,7 @@ public class ConversationFragment extends Fragment {
|
||||||
activity.getConversationList(), null, false);
|
activity.getConversationList(), null, false);
|
||||||
activity.updateConversationList();
|
activity.updateConversationList();
|
||||||
}
|
}
|
||||||
|
this.updateSendButton();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -497,6 +499,55 @@ public class ConversationFragment extends Fragment {
|
||||||
updateChatMsgHint();
|
updateChatMsgHint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateSendButton() {
|
||||||
|
Conversation c = this.conversation;
|
||||||
|
if (activity.useSendButtonToIndicateStatus() && c != null
|
||||||
|
&& c.getAccount().getStatus() == Account.STATUS_ONLINE) {
|
||||||
|
if (c.getMode() == Conversation.MODE_SINGLE) {
|
||||||
|
switch (c.getContact().getMostAvailableStatus()) {
|
||||||
|
case Presences.CHAT:
|
||||||
|
this.mSendButton
|
||||||
|
.setImageResource(R.drawable.ic_action_send_now_online);
|
||||||
|
break;
|
||||||
|
case Presences.ONLINE:
|
||||||
|
this.mSendButton
|
||||||
|
.setImageResource(R.drawable.ic_action_send_now_online);
|
||||||
|
break;
|
||||||
|
case Presences.AWAY:
|
||||||
|
this.mSendButton
|
||||||
|
.setImageResource(R.drawable.ic_action_send_now_away);
|
||||||
|
break;
|
||||||
|
case Presences.XA:
|
||||||
|
this.mSendButton
|
||||||
|
.setImageResource(R.drawable.ic_action_send_now_away);
|
||||||
|
break;
|
||||||
|
case Presences.DND:
|
||||||
|
this.mSendButton
|
||||||
|
.setImageResource(R.drawable.ic_action_send_now_dnd);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.mSendButton
|
||||||
|
.setImageResource(R.drawable.ic_action_send_now_offline);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else if (c.getMode() == Conversation.MODE_MULTI) {
|
||||||
|
if (c.getMucOptions().online()) {
|
||||||
|
this.mSendButton
|
||||||
|
.setImageResource(R.drawable.ic_action_send_now_online);
|
||||||
|
} else {
|
||||||
|
this.mSendButton
|
||||||
|
.setImageResource(R.drawable.ic_action_send_now_offline);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.mSendButton
|
||||||
|
.setImageResource(R.drawable.ic_action_send_now_offline);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.mSendButton
|
||||||
|
.setImageResource(R.drawable.ic_action_send_now_offline);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected void updateStatusMessages() {
|
protected void updateStatusMessages() {
|
||||||
if (conversation.getMode() == Conversation.MODE_SINGLE) {
|
if (conversation.getMode() == Conversation.MODE_SINGLE) {
|
||||||
for (int i = this.messageList.size() - 1; i >= 0; --i) {
|
for (int i = this.messageList.size() - 1; i >= 0; --i) {
|
||||||
|
|
|
@ -2,6 +2,7 @@ package eu.siacs.conversations.ui;
|
||||||
|
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
|
import java.util.List;
|
||||||
import java.util.concurrent.RejectedExecutionException;
|
import java.util.concurrent.RejectedExecutionException;
|
||||||
|
|
||||||
import eu.siacs.conversations.Config;
|
import eu.siacs.conversations.Config;
|
||||||
|
@ -24,6 +25,8 @@ import android.content.DialogInterface;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.DialogInterface.OnClickListener;
|
import android.content.DialogInterface.OnClickListener;
|
||||||
import android.content.IntentSender.SendIntentException;
|
import android.content.IntentSender.SendIntentException;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.content.pm.ResolveInfo;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.ServiceConnection;
|
import android.content.ServiceConnection;
|
||||||
|
@ -55,7 +58,9 @@ public abstract class XmppActivity extends Activity {
|
||||||
|
|
||||||
protected int mPrimaryTextColor;
|
protected int mPrimaryTextColor;
|
||||||
protected int mSecondaryTextColor;
|
protected int mSecondaryTextColor;
|
||||||
protected int mWarningTextColor;
|
protected int mColorRed;
|
||||||
|
protected int mColorOrange;
|
||||||
|
protected int mColorGreen;
|
||||||
protected int mPrimaryColor;
|
protected int mPrimaryColor;
|
||||||
|
|
||||||
private DisplayMetrics metrics;
|
private DisplayMetrics metrics;
|
||||||
|
@ -151,8 +156,20 @@ public abstract class XmppActivity extends Activity {
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
Uri uri = Uri
|
Uri uri = Uri
|
||||||
.parse("market://details?id=org.sufficientlysecure.keychain");
|
.parse("market://details?id=org.sufficientlysecure.keychain");
|
||||||
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
|
Intent marketIntent = new Intent(Intent.ACTION_VIEW,
|
||||||
startActivity(intent);
|
uri);
|
||||||
|
PackageManager manager = getApplicationContext()
|
||||||
|
.getPackageManager();
|
||||||
|
List<ResolveInfo> infos = manager
|
||||||
|
.queryIntentActivities(marketIntent, 0);
|
||||||
|
if (infos.size() > 0) {
|
||||||
|
startActivity(marketIntent);
|
||||||
|
} else {
|
||||||
|
uri = Uri.parse("http://www.openkeychain.org/");
|
||||||
|
Intent browserIntent = new Intent(
|
||||||
|
Intent.ACTION_VIEW, uri);
|
||||||
|
startActivity(browserIntent);
|
||||||
|
}
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -183,7 +200,9 @@ public abstract class XmppActivity extends Activity {
|
||||||
ExceptionHelper.init(getApplicationContext());
|
ExceptionHelper.init(getApplicationContext());
|
||||||
mPrimaryTextColor = getResources().getColor(R.color.primarytext);
|
mPrimaryTextColor = getResources().getColor(R.color.primarytext);
|
||||||
mSecondaryTextColor = getResources().getColor(R.color.secondarytext);
|
mSecondaryTextColor = getResources().getColor(R.color.secondarytext);
|
||||||
mWarningTextColor = getResources().getColor(R.color.warningtext);
|
mColorRed = getResources().getColor(R.color.red);
|
||||||
|
mColorOrange = getResources().getColor(R.color.orange);
|
||||||
|
mColorGreen = getResources().getColor(R.color.green);
|
||||||
mPrimaryColor = getResources().getColor(R.color.primary);
|
mPrimaryColor = getResources().getColor(R.color.primary);
|
||||||
if (getPreferences().getBoolean("use_larger_font", false)) {
|
if (getPreferences().getBoolean("use_larger_font", false)) {
|
||||||
setTheme(R.style.ConversationsTheme_LargerText);
|
setTheme(R.style.ConversationsTheme_LargerText);
|
||||||
|
@ -475,7 +494,7 @@ public abstract class XmppActivity extends Activity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getWarningTextColor() {
|
public int getWarningTextColor() {
|
||||||
return this.mWarningTextColor;
|
return this.mColorRed;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPrimaryColor() {
|
public int getPrimaryColor() {
|
||||||
|
|
|
@ -145,7 +145,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (error) {
|
if (error) {
|
||||||
viewHolder.time.setTextColor(0xFFe92727);
|
viewHolder.time.setTextColor(activity.getWarningTextColor());
|
||||||
} else {
|
} else {
|
||||||
viewHolder.time.setTextColor(activity.getSecondaryTextColor());
|
viewHolder.time.setTextColor(activity.getSecondaryTextColor());
|
||||||
}
|
}
|
||||||
|
@ -191,7 +191,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
|
||||||
viewHolder.image.setVisibility(View.GONE);
|
viewHolder.image.setVisibility(View.GONE);
|
||||||
viewHolder.messageBody.setVisibility(View.VISIBLE);
|
viewHolder.messageBody.setVisibility(View.VISIBLE);
|
||||||
viewHolder.messageBody.setText(getContext().getString(r));
|
viewHolder.messageBody.setText(getContext().getString(r));
|
||||||
viewHolder.messageBody.setTextColor(0xff33B5E5);
|
viewHolder.messageBody.setTextColor(activity.getSecondaryTextColor());
|
||||||
viewHolder.messageBody.setTypeface(null, Typeface.ITALIC);
|
viewHolder.messageBody.setTypeface(null, Typeface.ITALIC);
|
||||||
viewHolder.messageBody.setTextIsSelectable(false);
|
viewHolder.messageBody.setTextIsSelectable(false);
|
||||||
}
|
}
|
||||||
|
@ -204,7 +204,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
|
||||||
viewHolder.messageBody.setVisibility(View.VISIBLE);
|
viewHolder.messageBody.setVisibility(View.VISIBLE);
|
||||||
viewHolder.messageBody.setText(getContext().getString(
|
viewHolder.messageBody.setText(getContext().getString(
|
||||||
R.string.decryption_failed));
|
R.string.decryption_failed));
|
||||||
viewHolder.messageBody.setTextColor(0xFFe92727);
|
viewHolder.messageBody.setTextColor(activity.getWarningTextColor());
|
||||||
viewHolder.messageBody.setTypeface(null, Typeface.NORMAL);
|
viewHolder.messageBody.setTypeface(null, Typeface.NORMAL);
|
||||||
viewHolder.messageBody.setTextIsSelectable(false);
|
viewHolder.messageBody.setTextIsSelectable(false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@ import eu.siacs.conversations.xml.Element;
|
||||||
|
|
||||||
public class MessagePacket extends AbstractStanza {
|
public class MessagePacket extends AbstractStanza {
|
||||||
public static final int TYPE_CHAT = 0;
|
public static final int TYPE_CHAT = 0;
|
||||||
public static final int TYPE_UNKNOWN = 1;
|
|
||||||
public static final int TYPE_NORMAL = 2;
|
public static final int TYPE_NORMAL = 2;
|
||||||
public static final int TYPE_GROUPCHAT = 3;
|
public static final int TYPE_GROUPCHAT = 3;
|
||||||
public static final int TYPE_ERROR = 4;
|
public static final int TYPE_ERROR = 4;
|
||||||
|
@ -38,8 +37,6 @@ public class MessagePacket extends AbstractStanza {
|
||||||
case TYPE_GROUPCHAT:
|
case TYPE_GROUPCHAT:
|
||||||
this.setAttribute("type", "groupchat");
|
this.setAttribute("type", "groupchat");
|
||||||
break;
|
break;
|
||||||
case TYPE_UNKNOWN:
|
|
||||||
break;
|
|
||||||
case TYPE_NORMAL:
|
case TYPE_NORMAL:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -63,7 +60,7 @@ public class MessagePacket extends AbstractStanza {
|
||||||
} else if (type.equals("headline")) {
|
} else if (type.equals("headline")) {
|
||||||
return TYPE_HEADLINE;
|
return TYPE_HEADLINE;
|
||||||
} else {
|
} else {
|
||||||
return TYPE_UNKNOWN;
|
return TYPE_NORMAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|