Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xabber-android
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
xabber-android
Commits
ad91b14b
Commit
ad91b14b
authored
Sep 09, 2015
by
Grigory Fedorov
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release/1.0.45'
parents
483b58d5
a0a657b7
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
79 additions
and
35 deletions
+79
-35
.gitmodules
.gitmodules
+1
-1
MemorizingTrustManager
app/MemorizingTrustManager
+1
-1
build.gradle
app/build.gradle
+2
-2
EmojiconsPopup.java
...n/java/github/ankushsachdeva/emojicon/EmojiconsPopup.java
+2
-0
emojicon_grid.xml
app/emojicon/src/main/res/layout/emojicon_grid.xml
+0
-2
emojicons.xml
app/emojicon/src/main/res/layout/emojicons.xml
+6
-8
CertificateManager.java
...om/xabber/android/data/connection/CertificateManager.java
+15
-2
ConnectionThread.java
.../com/xabber/android/data/connection/ConnectionThread.java
+1
-0
ChatStateManager.java
...om/xabber/android/data/extension/cs/ChatStateManager.java
+6
-1
MessageManager.java
.../java/com/xabber/android/data/message/MessageManager.java
+1
-1
ChatViewerFragment.java
...c/main/java/com/xabber/android/ui/ChatViewerFragment.java
+30
-5
ContactSubscription.java
.../main/java/com/xabber/android/ui/ContactSubscription.java
+13
-4
chat_viewer_fragment.xml
app/src/main/res/layout/chat_viewer_fragment.xml
+0
-7
preferences.xml
app/src/main/res/values/preferences.xml
+1
-1
No files found.
.gitmodules
View file @
ad91b14b
...
...
@@ -3,4 +3,4 @@
url = https://github.com/otr4j/otr4j.git
[submodule "app/MemorizingTrustManager"]
path = app/MemorizingTrustManager
url = https://github.com/
ge0rg
/MemorizingTrustManager.git
url = https://github.com/
redsolution
/MemorizingTrustManager.git
MemorizingTrustManager
@
a1cea31e
Subproject commit
8b80fb176542fa96c1028c379be8de7e32c730df
Subproject commit
a1cea31efeab968683e461e6b4ab1e0b87293103
app/build.gradle
View file @
ad91b14b
...
...
@@ -7,8 +7,8 @@ android {
defaultConfig
{
minSdkVersion
14
targetSdkVersion
23
versionCode
21
7
versionName
'1.0.4
4
'
versionCode
21
8
versionName
'1.0.4
5
'
}
compileOptions
{
...
...
app/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconsPopup.java
View file @
ad91b14b
...
...
@@ -30,6 +30,7 @@ import java.util.List;
import
android.app.Activity
;
import
android.content.Context
;
import
android.graphics.Rect
;
import
android.graphics.drawable.BitmapDrawable
;
import
android.os.Handler
;
import
android.os.SystemClock
;
import
android.support.v4.view.PagerAdapter
;
...
...
@@ -85,6 +86,7 @@ public class EmojiconsPopup extends PopupWindow implements ViewPager.OnPageChang
//default size
setSize
((
int
)
mContext
.
getResources
().
getDimension
(
R
.
dimen
.
keyboard_height
),
LayoutParams
.
MATCH_PARENT
);
setBackgroundDrawable
(
new
BitmapDrawable
());
}
/**
...
...
app/emojicon/src/main/res/layout/emojicon_grid.xml
View file @
ad91b14b
...
...
@@ -18,8 +18,6 @@
android:id=
"@+id/Emoji_GridView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@android:color/transparent"
android:cacheColorHint=
"@android:color/transparent"
android:columnWidth=
"40dip"
android:horizontalSpacing=
"0dip"
android:numColumns=
"auto_fit"
...
...
app/emojicon/src/main/res/layout/emojicons.xml
View file @
ad91b14b
...
...
@@ -16,9 +16,10 @@
-->
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:background=
"@drawable/keyboard_background_holo"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@android:color/darker_gray"
>
<LinearLayout
android:id=
"@+id/emojis_tab"
android:layout_width=
"match_parent"
...
...
@@ -105,15 +106,12 @@
android:id=
"@+id/emojis_backspace"
android:src=
"@drawable/sym_keyboard_delete_holo_dark"
/>
</LinearLayout>
<android.support.v4.view.ViewPager
android:layout_below=
"@id/emojis_tab"
android:id=
"@+id/emojis_pager"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_alignParentBottom=
"true"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1px"
android:layout_below=
"@id/emojis_tab"
android:background=
"#8f8f8f"
/>
</RelativeLayout>
app/src/main/java/com/xabber/android/data/connection/CertificateManager.java
View file @
ad91b14b
...
...
@@ -46,6 +46,8 @@ import java.util.HashMap;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
import
de.duenndns.ssl.MemorizingTrustManager
;
/**
* Manage certificate exceptions.
* <p/>
...
...
@@ -402,9 +404,9 @@ public class CertificateManager implements OnLoadListener, OnClearListener {
public
void
removeCertificates
()
{
pendingCertificateProvider
.
clearNotifications
();
ignoreCertificates
.
clear
();
for
(
CertificateInvalidReason
reason
:
CertificateInvalidReason
.
values
())
for
(
CertificateInvalidReason
reason
:
CertificateInvalidReason
.
values
())
{
keyStores
.
put
(
reason
,
createKeyStore
(
reason
));
}
Application
.
getInstance
().
runInBackground
(
new
Runnable
()
{
@Override
...
...
@@ -414,5 +416,16 @@ public class CertificateManager implements OnLoadListener, OnClearListener {
}
});
MemorizingTrustManager
mtm
=
new
MemorizingTrustManager
(
Application
.
getInstance
());
final
Enumeration
<
String
>
certificates
=
mtm
.
getCertificates
();
while
(
certificates
.
hasMoreElements
())
{
try
{
mtm
.
deleteCertificate
(
certificates
.
nextElement
());
}
catch
(
KeyStoreException
e
)
{
e
.
printStackTrace
();
}
}
}
}
app/src/main/java/com/xabber/android/data/connection/ConnectionThread.java
View file @
ad91b14b
...
...
@@ -189,6 +189,7 @@ public class ConnectionThread implements
try
{
SSLContext
sslContext
=
SSLContext
.
getInstance
(
"TLS"
);
MemorizingTrustManager
mtm
=
new
MemorizingTrustManager
(
Application
.
getInstance
());
mtm
.
setTrustByDefault
(!
SettingsManager
.
securityCheckCertificate
());
sslContext
.
init
(
null
,
new
X509TrustManager
[]{
mtm
},
new
java
.
security
.
SecureRandom
());
builder
.
setCustomSSLContext
(
sslContext
);
builder
.
setHostnameVerifier
(
...
...
app/src/main/java/com/xabber/android/data/extension/cs/ChatStateManager.java
View file @
ad91b14b
...
...
@@ -244,8 +244,9 @@ public class ChatStateManager implements OnDisconnectListener,
if
(
text
.
length
()
==
0
)
{
updateChatState
(
account
,
user
,
ChatState
.
active
);
return
;
}
else
}
else
{
updateChatState
(
account
,
user
,
ChatState
.
composing
);
}
Intent
intent
=
ComposingPausedReceiver
.
createIntent
(
Application
.
getInstance
(),
account
,
user
);
PendingIntent
pendingIntent
=
PendingIntent
.
getBroadcast
(
...
...
@@ -261,6 +262,10 @@ public class ChatStateManager implements OnDisconnectListener,
public
void
onPaused
(
String
account
,
String
user
)
{
if
(
account
==
null
||
user
==
null
)
return
;
if
(
sent
.
get
(
account
,
user
)
!=
ChatState
.
composing
)
{
return
;
}
updateChatState
(
account
,
user
,
ChatState
.
paused
);
pauseIntents
.
remove
(
account
,
user
);
}
...
...
app/src/main/java/com/xabber/android/data/message/MessageManager.java
View file @
ad91b14b
...
...
@@ -172,7 +172,7 @@ public class MessageManager implements OnLoadListener, OnPacketListener, OnDisco
* @return
*/
private
RegularChat
createChat
(
String
account
,
String
user
)
{
RegularChat
chat
=
new
RegularChat
(
account
,
user
);
RegularChat
chat
=
new
RegularChat
(
account
,
Jid
.
getBareAddress
(
user
)
);
addChat
(
chat
);
return
chat
;
}
...
...
app/src/main/java/com/xabber/android/ui/ChatViewerFragment.java
View file @
ad91b14b
...
...
@@ -56,6 +56,9 @@ import com.xabber.android.ui.helper.AccountPainter;
import
com.xabber.android.ui.helper.ContactTitleInflater
;
import
com.xabber.android.ui.preferences.ChatContactSettings
;
import
java.util.Timer
;
import
java.util.TimerTask
;
import
github.ankushsachdeva.emojicon.EmojiconGridView
;
import
github.ankushsachdeva.emojicon.EmojiconsPopup
;
import
github.ankushsachdeva.emojicon.emoji.Emojicon
;
...
...
@@ -86,6 +89,9 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
private
MessageItem
clickedMessageItem
;
private
AccountPainter
accountPainter
;
private
Timer
stopTypingTimer
=
new
Timer
();
private
final
long
STOP_TYPING_DELAY
=
4000
;
// in ms
public
static
ChatViewerFragment
newInstance
(
String
account
,
String
user
)
{
ChatViewerFragment
fragment
=
new
ChatViewerFragment
();
...
...
@@ -150,7 +156,6 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
AbstractChat
abstractChat
=
MessageManager
.
getInstance
().
getChat
(
account
,
user
);
securityButton
=
(
ImageButton
)
view
.
findViewById
(
R
.
id
.
button_security
);
View
spacer
=
view
.
findViewById
(
R
.
id
.
button_security_spacer
);
if
(
abstractChat
instanceof
RegularChat
)
{
securityButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
...
...
@@ -161,7 +166,6 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
});
}
else
{
securityButton
.
setVisibility
(
View
.
GONE
);
spacer
.
setVisibility
(
View
.
VISIBLE
);
}
chatMessageAdapter
=
new
ChatMessageAdapter
(
getActivity
(),
account
,
user
,
this
);
...
...
@@ -202,6 +206,9 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
if
(!
skipOnTextChanges
&&
stopTypingTimer
!=
null
)
{
stopTypingTimer
.
cancel
();
}
}
@Override
...
...
@@ -212,10 +219,25 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
public
void
afterTextChanged
(
Editable
text
)
{
setUpInputViewButtons
();
if
(!
skipOnTextChanges
)
{
ChatStateManager
.
getInstance
().
onComposing
(
account
,
user
,
text
);
if
(
skipOnTextChanges
)
{
return
;
}
ChatStateManager
.
getInstance
().
onComposing
(
account
,
user
,
text
);
stopTypingTimer
=
new
Timer
();
stopTypingTimer
.
schedule
(
new
TimerTask
()
{
@Override
public
void
run
()
{
Application
.
getInstance
().
runOnUiThread
(
new
Runnable
()
{
@Override
public
void
run
()
{
ChatStateManager
.
getInstance
().
onPaused
(
account
,
user
);
}
});
}
},
STOP_TYPING_DELAY
);
}
});
...
...
@@ -404,6 +426,9 @@ public class ChatViewerFragment extends Fragment implements PopupMenu.OnMenuItem
@Override
public
void
onPause
()
{
super
.
onPause
();
ChatStateManager
.
getInstance
().
onPaused
(
account
,
user
);
saveInputState
();
listener
.
unregisterChat
(
this
);
}
...
...
app/src/main/java/com/xabber/android/ui/ContactSubscription.java
View file @
ad91b14b
...
...
@@ -17,6 +17,7 @@ package com.xabber.android.ui;
import
android.content.Context
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.support.v4.app.NavUtils
;
import
android.support.v7.widget.Toolbar
;
import
android.view.View
;
import
android.widget.Button
;
...
...
@@ -35,7 +36,7 @@ import com.xabber.android.ui.helper.AccountPainter;
import
com.xabber.android.ui.helper.BarPainter
;
import
com.xabber.android.ui.helper.SingleActivity
;
public
class
ContactSubscription
extends
SingleActivity
implements
View
.
OnClickListener
{
public
class
ContactSubscription
extends
SingleActivity
implements
View
.
OnClickListener
,
ContactVcardViewerFragment
.
Listener
{
private
String
account
;
private
String
user
;
...
...
@@ -71,10 +72,14 @@ public class ContactSubscription extends SingleActivity implements View.OnClickL
setContentView
(
R
.
layout
.
contact_subscription
);
Toolbar
toolbar
=
(
Toolbar
)
findViewById
(
R
.
id
.
top_toolbar
);
setSupportActionBar
(
toolbar
);
getSupportActionBar
().
setDisplayHomeAsUpEnabled
(
true
);
toolbar
.
setTitle
(
getString
(
R
.
string
.
subscription_request_message
));
toolbar
.
setNavigationIcon
(
R
.
drawable
.
ic_clear_white_24dp
);
toolbar
.
setNavigationOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
finish
();
}
});
BarPainter
barPainter
=
new
BarPainter
(
this
,
toolbar
);
barPainter
.
updateWithAccountName
(
account
);
...
...
@@ -142,4 +147,8 @@ public class ContactSubscription extends SingleActivity implements View.OnClickL
finish
();
}
@Override
public
void
onVCardReceived
()
{
}
}
app/src/main/res/layout/chat_viewer_fragment.xml
View file @
ad91b14b
...
...
@@ -74,13 +74,6 @@
android:alpha=
"0.5"
/>
<Space
android:id=
"@+id/button_security_spacer"
android:layout_width=
"16dp"
android:layout_height=
"match_parent"
android:visibility=
"gone"
/>
<github.ankushsachdeva.emojicon.EmojiconEditText
android:id=
"@+id/chat_input"
android:layout_width=
"0dp"
...
...
app/src/main/res/values/preferences.xml
View file @
ad91b14b
...
...
@@ -439,7 +439,7 @@
<!-- preference_security -->
<string
name=
"security_check_certificate_key"
>
security_check_certificate
</string>
<bool
name=
"security_check_certificate_default"
>
fals
e
</bool>
<bool
name=
"security_check_certificate_default"
>
tru
e
</bool>
<string
name=
"security_clear_certificate_key"
>
security_clear_certificate
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment